一、selenium元素定位方式大全

这篇具有很好参考价值的文章主要介绍了一、selenium元素定位方式大全。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.根据id定位

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

2.name定位元素

根据name定位,name元素可能不是唯一的。如果出现重名的元素,定位有可能不准确

如果只出现一次就可以精准定位

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

3.class_name定位元素

根据name定位,name元素可能不是唯一的。如果出现重名的元素,定位有可能不准确

如果只出现一次就可以精准定位

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

4.通过tag_name属性定位

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

5.link_text元素定位

link_text 只能使用精准的匹配(a标签的全部文本内容)。

link_text定位:必须根据链接上完整的文本内容去进行定位。link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

 6.通过partial_link属性定位

partial_link_text可以使用精准或模糊匹配,如果使用模糊匹配最好能使用可以唯一的关键字;如果有多个值,默认返回第一个值。

partial_link_text定位:定位的链接文本内容在整个页面当中唯一的出现一次,那么可以准确定位到元素,否则默认返回第一个值。

模糊定位

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

7.xpath定位

1.绝对路径

语法:以单斜杠开头逐级开始编写,不能跳级。如:("html/body/div/div/form/input")

driver.find_element(By.XPATH, "html/body/div/form/fieldset/table/tbody/tr/td/input").send_keys("admin")

2.相对路径

相对路径是只给出元素路径的部分信息,在 html 的任意层次中寻找符合条件的元素。(元素名不知道,可用*)语法:以双斜杠开头,双斜杠后边跟元素名称。如://input

3.路径结合属性方式

语法://input[@id='id值']

driver.find_element(By.XPATH, "//input[@id='Password1']").send_keys("123456789")

4.全部文本信息匹配方式

语法://a[text()="新闻"],标签为a文本信息为"新闻"

driver.find_element(By.XPATH, "//a[text()='新闻']").click()

5.部分文本包含方式(模糊匹配)

语法://a[contains(text(),"新")] 或者 //a[contains(text(),"闻")]

driver.find_element(By.XPATH, "//a[contains(text(), '新')]").click()

6.路径结合逻辑

语法://标签名[@属性名='属性值' and @属性名='属性值']

driver.find_element(By.XPATH, "//input[@name='Name' and @id='t2']").send_keys("第二个姓名")

 根据表达式定位

css和xpath

css比xpath效率高一点

有前端配合选css,没有就选xpath

1.xpath语法:

//*[@id="kw"]

层级和属性

        / (开头)根路径          /html/body

        // (开头,中间)        任意层级

        *  (任意元素)

        @(根据属性筛选)

        / (中间)下一级        /html/body

        . (同级)

        ..(上一级)

2.xpath函数

  • text  获取元素内的文本  (精确匹配)
  • contains  任意位置的包含(模糊匹配)
  • start-with  半模糊匹配  (开头必须一样)

3.xpath调试       ​​​​​​

开发者工具——控制台——$x  进行xpath调试

        link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

7.通过父级定位子级元素

语法://标签名(或*)[@父级属性名='父级属性值']/input

driver.find_element(By.XPATH, "//td[@id='id1']/input").send_keys("通过父级定位到子级")

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

8.直接复制xpath

css定位

1.id选择器(语法:#id,如:#a1)

driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("神话")

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

2.class选择器(语法:.class,如:.cA)

class属性必须唯一

driver.find_element(By.CSS_SELECTOR, "s_ipt").send_keys("class")

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架

3.元素选择器(语法:element,如:input)

标签名必须唯一

driver.find_element(By.CSS_SELECTOR, "textarea").send_keys("这是元素选择器定位。")

4.通用选择器(语法:*,用于匹配任何元素)

5.多元素选择器

多元素选择器(同时定位到姓名和密码输入框,之间用逗号隔开)
 find_elements(By.CSS_SELECTOR, "元素")返回的是一个列表类型的元素,如果想定位到具体的元素,可以通过索引去拿(索引是从0开始)
driver.find_elements(By.CSS_SELECTOR, "#t1,.passwd")[1].send_keys("5201314")

6.子元素选择器E>F(匹配所有E元素的子元素F)

  1. 子元素选择器(定位到多行文本输入框,简介)

  2. # 子元素选择器是必须直接子级才可以定位,隔代则定位不了

  3. driver.find_element(By.CSS_SELECTOR, "td>textarea").send_keys("子元素选择器定位。"

7.后代元素选择器

匹配所有属于E元素后代的F元素,E和F之间用空格分隔)

后代选择器(定位到多行文本输入框,简介)
# 后代选择器,可以隔代,可以通过父与子的关系定位,还可以通过爷爷与孙子的关系定位
driver.find_element(By.CSS_SELECTOR, "tr textarea").send_keys("这是后代选择器定位。")
 

8.毗邻元素

E+F(匹配紧随E元素之后的同级元素F,只匹配第一个)

driver.find_element(By.CSS_SELECTOR, "p+input").send_keys("毗邻元素选择器")

9.同级元素

同级元素器E~F(E~F匹配所有在E元素之后的同级F元素)

driver.find_elements(By.CSS_SELECTOR, "p~input")[1].send_keys("同级元素选择器")

10.标签名[属性名='属性值']

(指定标签名下的符合[]里面属性条件的元素,区分大小写)

  1. 标签结合属性定位元素:标签名[属性名='属性值']

  2. driver.find_element(By.CSS_SELECTOR, "input[id='Password1']").send_keys("123456789")

11.标签名[属性名*='a']

属性的值包括a 的指定标签的元素

css定位方式:标签名结合属性定位元素:标签名[属性名*='a'](属性值包含a)
# 案例:定位到第一个表单注册页面的密码输入框
driver.find_element(By.CSS_SELECTOR, "input[name*='w']").send_keys("123456789")

12.标签名[属性1='a'][属性2*='b']

标签名结合多个属性定位:标签名[属性1='a'][属性2*='b']
# 案例:定位到第一个表单注册页面的姓名2输入框
driver.find_element(By.CSS_SELECTOR, "input[name='Name'][id='t2']").send_keys("123456789")
 

定位类似这种的下拉框

link_text定位,web自动化,selenium,测试工具,python,前端,css,前端框架文章来源地址https://www.toymoban.com/news/detail-783748.html

#处理下拉框,首先强制转换成Select对象
  sel = Select(driver.find element (By.NAME,"brand id"))
三种定位方式:
1.通过下标选中,下标从0开始
   sel.select by index(1)
2.通过value值选中
    sel.select by value("10") 
3.通过文本选中
   sel.select by visible text("诺基亚") 

到了这里,关于一、selenium元素定位方式大全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium元素定位方法大全

    作为当下最流行的web UI自动化测试工具,selenium是很多测试同学入门接触自动化测试时学习的第一个工具。想要自动化操作页面上的内容,元素定位是首先必须要学习的核心知识。 因此本文主要介绍selenium的几种最常用的元素定位方法,掌握了这些方法,希望能帮助大家快速

    2024年02月02日
    浏览(55)
  • selenium 元素定位攻略大全

    元素名称 描述 Webdriver API id id属性 driver.find_element(By.ID, \\\"id属性值\\\") name name属性 driver.find_element(By.NAME, \\\"name属性值\\\") class_name class属性 driver.find_element(By.CLASS_NAME, \\\"class_name属性值\\\") tag_name 标签名 driver.find_element(By.TAG_NAME, \\\"标签名\\\") link_text a元素的文本内容-精准匹配 driver.find_elemen

    2024年04月12日
    浏览(41)
  • java selenium (五) 元素定位大全

    页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法。  测试人员应该熟练掌握各种定位方法。 使用最简单,最稳定的定位方法。 在自动化测试过程中, 测试程序通常的操作页面元素步骤 1. 找到Web的页面元素,并赋予到一个存储对象中 (W

    2023年04月08日
    浏览(77)
  • 【UI自动化】selenium元素定位各种框实例操作大全

    Text: 元素是input标签但是不能输入内容 第五个input输入框, disabled 属性被设置为 \\\"true\\\" 。 它被禁用了无法接收用户的输入。 第六个input输入框, readonly 属性指示该元素是否只读 ,如果设置了该属性,表示该元素只读不可编辑。因此,当 readonly 属性存在时,该输入框是不可

    2024年01月18日
    浏览(39)
  • selenium的八大元素定位方式

    1、什么是元素定位 根据元素的 某个特征 在网页中找到对应的元素,定位元素的目的是为了操作元素,在Web自动化中,定位元素是后续一切操作的前提条件。 2、元素的八大定位方式 2.1、id : 根据标签/元素的id属性值定位 一般情况下元素的id是唯一的,所以通过这个方法可

    2024年03月14日
    浏览(35)
  • selenium元素定位方式及常用操作

    要想操作一个对象,首先应该识别这个对象。 定位方式有很多,但是要保证这种方式存在,且能够唯一的定位到这个元素。 1、用 id 来定位 优先选择 ※ 首先在 Chrome 浏览器上把鼠标放到搜索框,鼠标右击选择开发者模式(快捷键:f12),查看对应 id 名 2、用 name 来定位 在开

    2024年02月02日
    浏览(125)
  • 【web自动化】selenium+python八大元素定位

    推荐:b站软件测试老白 注意点 1.有id才能能使用id定位 2.id不能重复 通过百度页面,演示如何查找id确定id是否重复,其他方式定位也可以这样搜索 代码如下(示例): 如果有多个class_name,可以使用 find_elements 和取下标的方式 例如:打开哔哩哔哩页面,有番剧,电影等等,他

    2024年01月21日
    浏览(70)
  • Web自动化 —— Selenium元素定位与防踩坑

    2. 基本元素定位二 3. CSS选择器定位法一 4. CSS选择器定位法二 浏览器完整的打开-关闭调用流程 5. xpath定位法 1、相对路径定位 //标签名[@属性名=\\\"属性值\\\"] 2、定位某个元素的父级元素 元素xpath/parent::\\\"父级元素标签名\\\" //*[@id=\\\"list\\\"]/dl/a/parent::dl 3、定位一组元素的第几个 xpath[数字

    2024年02月09日
    浏览(35)
  • 【selenium】八大元素定位方式|xpath css id name...

    目录 一、基础元素定位 二、cssSelector元素定位——通过元素属性定位 三、xpath元素定位——通过路径  1 、xpath绝对定位 (用的不多) 缺点:一旦页面结构发生变化(比如重新设计时,路径少两节),该路径也随之失效,必须重新写 2、 xpath相对定位 2.1  路径解释: 2.2  定

    2024年02月22日
    浏览(39)
  • 【selenium模块-WEB自动化】八大网页元素定位方法(三)

    一、id 定位 标签的 id 具有唯一性,就像人的身份证。 二、name 定位 name 指定标签的名称,在页面中可以不唯一。 三、class 定位 class 指定标签的类名,在页面中可以不唯一。 四、tag 定位 每个 tag 往往用来定义一类功能,所以通过 tag 来识别某个元素的成功率很低,每个页面

    2024年02月15日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包