• Selenum八种常用定位(案例解析)


    Selenium是一个备受推崇的工具。它有着丰富的功能,让我们能够与网页互动,执行各种任务,能为测试工程师和开发人员提供了很大的便利。

    要充分利用Selenium,就需要了解如何正确定位网页上的元素。

    接下来我将带大家共同探讨Selenium中八种常用的定位方法,并通过案例解析,帮助大伙更好地理解如何在自动化测试和网页爬虫中使用它们。

    1. ID定位

    driver.find_element_by_name("username").send_keys("admin")

    2. name定位

    driver.find_element_by_name("username").send_keys("admin")

     

    3. class_name定位

    # 可以根据class属性值来查找一个或者一组显示效果相同的页面元素

    driver.find_element_by_class_name("spread").send_keys("admin")

     

    driver.find_element_by_link_text("baidu 搜索").click()

    5. 部分链接定位

    # 使用此方法定位页面链接只需要模糊匹配链接文字即可,常用一匹配页面链接文字不定期发生少量变化的情况

    driver.find_element_by_partial_link_text("baidu").click()

    6. html标签名定位

    # HTML标签名称的定位方式主要用于匹配多个页面元素的情况,将查找到的网页元素对象计数、遍历、修改属性等操作
    driver.find_element_by_tag_name("input").send_keys("123")

     

    7. Xpath定位

    1. # 绝对路径定位元素
    2. driver.find_element_by_xpath("/html/body/div/input['@value='查询']")
    3. # 相对路径定位元素
    4. driver.find_element_by_xpath("//input['@value='查询']")
    5. # 索引号定位元素
    6. driver.find_element_by_xpath("//input[2]")
    7. # 使用页面元素的属性值定位元素
    8. driver.find_element_by_xpath('//img[@alt="div1-img1"]')
    9. # 模糊属性值定位元素
    10. driver.find_element_by_xpath('//img[contains(@alt,"img")]')

     

    8. CSS定位

    #CSS:层叠样式表,主要是用于描述页面元素的展现和样式的定义

    1. #1.使用绝对路径来定位元素
    2. driver.find_element_by_css_selector('html>body>div>input[value="查询"]')
    3. #2.使用相对路径来定位元素
    4. driver.find_element_by_css_selector('input[value="查询"]')
    5. #3.使用class名称来定位元素
    6. driver.find_element_by_css_selector('input.spreed')
    7. #4使用ID属性值来定位元素
    8. driver.find_element_by_css_selector('input#div1input')
    9. #5.使用页面其他属性值来定位元素
    10. driver.find_element_by_css_selector('img[art="div1-img1"]')
    11. driver.find_element_by_css_selector('img[art="div1-img1"][href="http://www.sogou.com"]')
    12. #6.使用属性值的一部分内容来定位元素
    13. # ^表示从字符串的开始匹配
    14. # $表示从字符串的结尾匹配
    15. # *表示从字符串的模糊匹配
    16. driver.find_element_by_css_selector('a[href^="http://www.so"]')
    17. driver.find_element_by_css_selector('a[href$="gou.com"]')
    18. driver.find_element_by_css_selector('a[href*="so"]')
    19. #7.使用页面元素进行子页面元素的查找
    20. driver.find_element_by_css_selector('div#div1>input#div1input')
    21. driver.find_element_by_css_selector('div input')

     

    感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

    这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

     

  • 相关阅读:
    springcloudalibaba架构(11):Sentinel规则持久化至Nacos
    运算放大器学习笔记
    three.js学习笔记(十八)——调整材质
    计算机毕业设计选题推荐-农场投入品运营线上管理系统-Java/Python项目实战
    PyCharm安装在C盘,转移到D盘
    掌握优先级队列:提升效率的关键技巧
    【ONE·Linux || 多线程(二)】
    7-137 整数四则运算
    【眼在手外D435相机支架】
    【10天Unity入门计划】界面介绍(1)-Scene视图
  • 原文地址:https://blog.csdn.net/chengxuyuznguoke/article/details/134036624