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


    目录

    1. ID定位

    2. name定位

    3. class_name定位

    4. link_text定位

    5. 部分链接定位

    6. html标签名定位

    7. Xpath定位

     8. CSS定位


    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')

    以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

    各位想获取资料的朋友请点赞 + 评论 + 收藏,三连!

    三连之后我会在评论区挨个私信发给你们~

     

  • 相关阅读:
    【机器学习】机器学习创建算法第2篇:K-近邻算法【附代码文档】
    手机怎么打包?三个方法随心选!
    Json用法总结
    我的Go+语言初体验——祝福留言小系统,让她也可以感受到你的祝福
    Tensorrt笔记(六)c++官方demo测试
    C/C++输出绝对值 2019年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
    索引优化与查询优化
    什么是Monkey,以及Monkey异常
    基于Jetty9的Geoserver配置https证书
    Mobpush上线跨时区推送功能,助力中国开发者应用出海
  • 原文地址:https://blog.csdn.net/m0_70618214/article/details/132900973