python xpath定位元素方法_Python+Selenium之元素定位XPATH

本文介绍了XPath的基本概念和在Selenium中的使用方法,包括如何通过`find_element_by_xpath`寻找元素。此外,还分享了XPath工具如Firefox的Firebug的安装和使用,以及多种XPath定位策略,如text()、contains()、相对路径等。同时,提供了XPath路径写法的详细解释,帮助读者深入理解XPath在网页元素定位中的重要作用。
摘要由CSDN通过智能技术生成

1.XPATH简介:

XPath 使用路径表达式在 XML 文档中进行导航

XPath 包含一个标准函数库

XPath 是 XSLT 中的主要元素

XPath 是一个 W3C 标准

参考网站:(http://www.w3school.com.cn/xpath/xpath_intro.asp)

2.selenium之xpath源码

```

def find_element_by_xpath(self, xpath):

"""

Finds an element by xpath.

:Args:

- xpath - The xpath locator of the element to find.

:Usage:

driver.find_element_by_xpath('//div/td[1]')

"""

return self.find_element(by=By.XPATH, value=xpath)

```

3.xpath各种实际用法

3.1XPATH工具安装

1. 打开火狐浏览器

3. 在搜索所有附件组件文本输入框输入:firebug

4. 找到Firebug,点击安装。

5. 安装好了之后,会在火狐浏览器右上角显示一个虫子的图标

6.只针对IE的可以使用`Fire-IEBrowser1.4.xlsm`工具,下载地址:( https://pan.baidu.com/s/1mjK4gFA),密码:73yn

3.2 text()定位方法(以百度首页新闻为例,元素属性唯一的情况下可以使用)

`其对应的XPATH路径`://div[@id='u1']//a[.='新闻']

`怎么来的:`首先查找div标签下并且id=u1的div标签然后再查找text()=新闻的元素可以以点代替,不指明属性

- contains()方法

以上边路径为例://div[@id='u1']//a[@href,'news']

- 相对路径(有时候,我们遇到目标元素节点的信息很少,不足够用来精确定位到目标元素,这个时候,我们就需要考虑,利用目标元素上下附件节点,通过确定附件的节点从而确定目标元素,这种方式就叫相对路径)

####另外附上关于xpath的路径写法详解(来源网络)

(https://www.cnblogs.com/lishiyan163/archive/2012/08/13/2635667.html)

1. /AAA:选择根元素AAA

2. //BBB:所有BBB元素

3. /AAA/CCC/DDD/*:选择/AAA/CCC/DDD/下所有元素

4. /*/*/*/BBB:选择有3个祖先元素的BBB元素

5. //*:选择所有元素

6. /AAA/BBB[1]:选择AAA的第一个BBB子元素

7. //@ID:选择所有的ID属性;//BBB[@ID]:选择有ID属性的BBB元素;//BBB[@*]:选择有任意属性的BBB元素;//BBB[not (@*)]:选择没有属性的BBB元素

8. //BBB[normalize-space(@name)=’bbb’] :选择含有name且值(用mormalize-space去掉前后空格)为‘bbb’的BBB元素

9. //*[count(BBB)=2]:选择含有2个BBB子元素的元素;//*[count(*)=2];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值