Selenium的8大元素定位方式

在Selenium实现Web自动化测试过程中,主要就是定位元素并执行一些操作,而元素的定位则是其中比较最复杂的一部分。

Selenium Webdriver主要有两种定位元素的方法:

  • find_element:定位一个元素
  • find_elements:定位多个元素

而在这两种定位方法下,又有8种元素定位方式:

  1. ID:通过id属性定位元素
  2. NAME:通过name属性定位元素
  3. CLASS_NAME:通过class属性定位元素
  4. TAG_NAME:通过标签名称定位元素
  5. CSS_SELECTOR:通过CSS选择器定位元素
  6. LINK_TEXT:通过链接的全部文本内容定位元素
  7. PARTIAL_LINK_TEXT:通过链接的部分文本内容定位元素
  8. XPATH:通过路径定位元素

我们以如下HTML元素为例,介绍一下这8种定位元素的方式。

<input type="text" class="s" name="wd" id="userName">
<a href ="https://www.baidu.com">百度一下</a>

 简单说明一下,一个HTML元素通常由以下几部分构成:

  • 标签名称,如:input、a。
  • 元素内容,如:百度一下。元素可以有空内容,如:<br>。
  • 元素可以拥有多个属性,如:id、name、class、href等。

1、ID

说明:通过元素的id属性去定位元素

driver.find_element(By.ID, 'userName')

2、NAME

说明:通过元素的name属性去定位元素

driver.find_element(By.NAME, "wd")

3、CLASS_NAME

说明:通过元素的class_name属性去定位元素

driver.find_element(By.CLASS_NAME, "s")

4、TAG_NAME

说明:通过元素标签去定位元素

driver.find_element(By.TAG_NAME, "input")

5、CSS_SELECTOR

说明:通过CSS选择器去定位元素。CSS选择器的语法非常强大,能够支持ID选择器、CLASS选择器、元素选择器、属性选择器等多种方法,如需了解,请前往学习CSS选择器。

# id选择器
driver.find_element(By.CSS_SELECTOR, "#userName")
# class选择器
driver.find_element(By.CSS_SELECTOR, ".s")
# 元素选择器
driver.find_element(By.CSS_SELECTOR, "input")
# 属性选择器
driver.find_element(By.CSS_SELECTOR, "[class='s']")

6、LINK_TEXT

说明:通过链接(a标签)的全部文本内容定位元素

driver.find_element(By.LINK_TEXT, "百度一下")

7、PARTIAL_LINK_TEXT

说明:通过链接(a标签)的部分文本内容定位元素

driver.find_element(By.PARTIAL_LINK_TEXT, "百度")

8、XPATH

说明:通过元素路径定位元素

# ID是唯一的,可直接定位
driver.find_element(By.XPATH, "//*[@id='userName']")
# 定位input标签下class为s的元素
driver.find_element(By.XPATH, "//input[@class='s']")

XPATH有很多定位方法,如需了解,请前往学习XPATH。


以上就是使用Selenium Webdriver的8种元素定位方式。

如有什么意见与建议,请在评论区留言吧!

如果你觉得文章对你有一点点帮助,烦请各位动动小手,点赞、关注、收藏!谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聪明的一休哥哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值