selenium中的8种页面元素定位方式

本文详细介绍了Selenium中的8种页面元素定位方法,包括id、name、class_name、tag_name、link_text、partial_link_text、xpath和css_selector。讨论了每种方法的优缺点,如id和name的唯一性,class_name的不唯一性,以及xpath和css_selector的广泛适用性但性能问题。同时,提供了如何使用这些方法来定位元素的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.id

driver.find_element_by_id()

2.name

driver.find_element_by_name()

优点:id,name易于定位元素,大多数属性值是唯一的

缺点:很多元素没有id和name属性

3.class_name

driver.find_element_by_class_name()

不支持多个class_name的定位,可以用css_selector()代替,在每个class name前加小数点即可

driver.find_element_by_css_selector(".shopCar_btn_03.fl").click()

4.tag_name

driver.find_element_by_tag_name()

优点:几乎所有的元素都有class_name和tag_name,

缺点:class和flag的值往往不是唯一的,很难精准的找到一个元素

5.link_text

driver.find_element_by_link_text()

6.partial_link_text

driver.find_element_by_partial_link_text

缺点:只能用于<a>标签,需要定位超级文本链接时可以使用

7.xpath

driver.find_element_by_xpath()

8.css_selector(最重要的方法)

driver.find_element_by_css_selector()

得到css_selector方法

(1)copy:右键检查元素,选择copy->copy selector

(2)如果元素的某个属性是唯一的,那么可以直接在属性两边家上中括号,直接定位该元素
         driver.find_element_by_css_selector('[value="1"]').click()   

          注意:需要两个双引号时,需要的单双引号错开使用

(3)标签名可以直接在css_selector中使用

        div > input

(4)在css中,需要在class属性前面加一个小数点

         driver.find_element_by_css_selector(".shopCar_btn_03.fl").click()(4)

(5)在css中,需要在id属性前面加一个#号

        driver.find_element_by_css_selector('#filePicker label').click()

注意:

大于号 >   表示父子关系,前面的元素是后面元素的父元素

div > input 表示要找的input元素,有一个父节点是div

空格    表示祖先元素和子孙元素的关系

div#id input.class  表示页面中有一个id="id"的div元素,在div的子孙节点中,有一个input标签,该input标签有一个class="class"的属性,我们要定位的就是这个input标签

<html>

<body>

<div id="id">

<.....>

<input class = "class">

 

井号#   用来表示id属性

小数点 .   用来表示class属性

中括号[]  用来表示所有属性

[id="1"],[class="a"]

 

 

a.可以用于定义radio button

#通过css_selector的方式可以采用任意的属性来定位元素,著需要在属性的两边加一个[]
#需要两个双引号时,需要的单双引号错开使用
driver.find_element_by_css_selector('[value="1"]').click()

b.label标签的定位

#2.6.2点击选择图片
driver.find_element_by_css_selector('#filePicker label').click()

优点:xpath和css_selector几乎可以用于所有页面元素定位,都有工具可以直接生成xpath和css_selector,

缺点:但是工具的生成不是100%管用,有些情况仍然需要手工写xpath,定位性能不是很好,所以当其他方法无法定位时才选择这种

 

如何在页面中找到元素,右键菜单中选择“Inspect”(检查),就可以清楚的看到元素属性

页面元素定位

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值