Python selenium中XPath定位元素的几种方法

1、元素中包含某一信息时,使用contains:

ele = '//strong[contains(text(), "测试信息")]'    # tagName为strong的innerText中包含‘测试信息’

2、要获取的元素内容不唯一,但是能确定有多种情况时使用or:

ele='//*[(text()="内容1") or (text()="内容2") or (text()="内容3")]'  #不确定tagName使用*,内容包含‘内容1’、‘内容2’、‘内容3’
ele = "//input[@id='内容1' or @name='内容2']"

3、元素有唯一确定内容时:

ele='//span[text()="内容1"]'

4、元素存在内容不唯一,确定的内容不连续时:

ele='//span[text()="内容1" and text()="内容2"]'   #tagName为span的元素,id属性是内容1,name属性是内容2

5、元素需要多个特征才能确定时:

ele = "//span[@id='内容1' and @name='内容2']"    #tagName为span的元素,id属性是内容1,name属性是内容2

6、元素某一项确定,但需要有条件的排除其中部分内容时:

ele = "//span[@value='内容1' and not(contains(@name,'内容2'))]" #tagName为span的元素,value属性是内容1,但是排除name中包含内容2的元素

7、元素的标签以某内容开始或结束:

ele = "//span[starts-with(@name,'内容')]"     #tagName为span的元素,name属性以内容开头
ele = "//span[ends-with(@name,'内容')]"

8、元素的父元素:

ele = "//span[contains(text(), 'test')]/parent::span"

9、元素的兄弟元素:

ele = "//span[contains(text(), 'test')]/preceding-sibling::span[1]"    # 同级元素的上一个元素
ele = "//span[contains(text(), 'test')]/following-sibling::span[1]"    # 同级元素的下一个元素

10、查找子元素:

ele  = "//td[(text()="test1")]/parent::tr/descendant::a[(text()='test')]"

其他1、下载多个文件时,避免出现多次下载的弹窗

"prefs":{"profile.default_content_settings.popups":0,"download.default_directory":"D:\\","profile.default_content_setting_values.automatic_downloads":1}

其他2、设置下载文件路径

"prefs":{"profile.default_content_settings.popups":0,"download.default_directory":"D:\test","profile.default_content_setting_values.automatic_downloads":1}
  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值