xpath 获取当前节点的父节点,兄弟节点的方法

xpath 获取当前节点的父节点,兄弟节点的方法,第1张

xpath_input_exp_mark = '//label[contains(text(), "文本内容")]//following-sibling::div[1]//input'

browserfind_element_by_xpath(xpath_input_exp_mark)

 表示当前节点的父节点

following-sibling::div[1] 表示当前节点的 兄弟节点 中的  第 1 个   div 标签

用XPath表达式来定位到对应的<td>元素

//th[span[text()="发布时间"]]/following-sibling::td/span

这个XPath表达式首先选择包含文本“发布时间”的<span>元素的<th>元素,然后使用/following-sibling::td选择这个<th>元素的下一个兄弟元素,即包含发布时间的<td>元素。最后,使用/span选择包含发布时间值的<span>元素。

请注意,这个XPath表达式返回的是一个<span>元素,如果您只需要获取该元素的文本值,可以使用text()函数,例如:

//th[span[text()="发布时间"]]/following-sibling::td/span/text()

这将返回包含发布时间的<span>元素的文本值

11什么是自动化测试

首先比较一下手动和自动:

11什么是自动化测试

自动化测试的概念:

软件自动化测试就是通过测试工具或者其他手段,

按照测试人员的预定计划对软件产品进行自动化

测试,他是软件测试的一个重要组成部分,能够

完成许多手工测试无法完成或者难以实现的测试

工作,正确合理的实施自动化测试,能够快速,

全面的对软件进行测试,从而提高软件质量,节

省经费,缩短软件的发布周期。

自动化测试的历史

1自动化测试就是任何利用工具来辅助的测试,几乎在计算机工业产生的第一天,这种测试就出现了。

12 为什么进行自动化测试

1自动化测试的好处:

2自动化测试的好处:

1)自动化功能测试

  2)自动化性能测试

2自动化功能测试的分类:

1)单元测试

程序员搞定

2)接口测试

3)功能测试

大中型项目或长期项目可以采用自动化测试

13 自动化测试的分类

3性能测试主要是使用测试工具

14 web自动化条件和使用范围�

1使用自动化的前提条件

1)手动测试已经完成,后期再不影响进度的前提下逐渐实现自动化

  2)项目周期长,重复性的工作都交给机器去实现

  3)需求稳定,项目变动不大

4)自动化测试脚本复杂度比较低

5)可重复利用

2使用自动化测试的场景

  1)频繁的回归测试

2)冒烟测试

3)传统行业需求变化不大,应用频繁

  4)性能测试

15 web自动化常用的工具

1常见的自动化web测试工具:

2)Selenium(开源)

ThroughtWorks一个强大的基于浏览器的开源自动化测试工具,通常用来编写web应用的自动化测试

IBM Rational Test Professional的简称,是一款先进的自动化的功能和回归测试工具,使用与测试人员和GUI开发人员,基础是针对Java,NET的对象计数和基于web应用程序的录制,回放功能

20 为什么要学习元素定位

1为什么要学习元素定位?

1)计算机没有智能到人的程度。

2元素定位的工具或手段有哪些?

1为什么要学习元素定位?

1)计算机没有智能到人的程度。

2元素定位的工具或手段有哪些?

22 xpath

1什么是xpath?

2什么是XML

22 xpath

4节点的概念:每个XML/HTML的标签我们都称之为节点

5XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。

查找某个特定的节点或者包含某个指定的值的节点

选择未知节点

选取若干路径

补充:

//[text()=“x’x’x”] 全部//title/text() 本内容是xxx的元素

//[starts-with(@attribute,”xxx”)] 属性以xxx开头的元素

//[contains(@attribute,”xxxxx”)] 属性中含有xxx的元素

//[@attribute1=value1 and @attribute2=value2] 同时有两个属性值的元素

对于网页数据抓取,有BeautifulSoup、lxml以及正则表达式三种方法,其中正则表达式过于复杂,而beautifulsoup和lxml使用起来较为方便。以前简单使用过beautifulsoup(美味汤),后面为了扩展一下,熟悉一下lxml进行数据抓取。

先贴一个lxml的简单框架:

其中,最主要的在于xpath路径的获取和解析,而XPath就是地址,具体地,就是需要知道所要寻找的内容处在哪个地址下。一般而言,我们可以根据开发者工具来定位我们需要的元素,然后右击选择其所在xpath,选择初步的路径,如下图所示,

这只是一种简单的方法,更重要的,需要掌握xpath的语法规则,下面分别论述。

使用xpath获取信息,主要包括获取本文和获取属性,基本用法为

对比可以看出,一个是采用text()获取文本,一个是采用@属性获取属性值。而前面标签后面方括号就是来对标签进行筛选的。一般而言,通过选择器可以获取诸如/html/body/div[@class="useful"]/ul/li/text()的信息,但是开头的信息没有标志性,采用//div[@class="useful"]/ul/li/text()即可。

这个地方即涉及到了xpath的语法选择,主要包括以下几点:

而在选择器方面,包括以下几个

除此之外,在获取了一个元素之后,我们需要获取其下面元素的属性,即要对基于xpath获取的元素再次采用xpath,此时的获取方式为:

另外,我们也可以获取节点下面所有的字符串,方法为string(),示例为:

懒得打字了,下面的截图来自W3Cschool, >

题主你好,

只用xpath我感觉无法达到题主的目的,因为在我的知识体系中, xpath的最小单位是一个结点或叫一个标签,

也就是说要不你提取value标签,其内容如下:

要不你提取span标签,内容如下:

而上面这两种题主肯定都会, 也不是想要的

-----

所以我能想到的方法有两种:

一种是在提取前使用js将span标签给去掉, 然后就能使用提取value标签的相关xpath得到题主想要的了;

另一种是先将含有span标签的value标签内容提取出来, 然后用正则表达式将span标签给去掉;

-----

如果上面两种方法满足题主的需求,请题主追问说明所用的语言和库,我再补充

=====

希望可以帮到题主, 欢迎追问

以上就是关于xpath 获取当前节点的父节点,兄弟节点的方法全部的内容,包括:xpath 获取当前节点的父节点,兄弟节点的方法、XPATH文本内容匹配th内容,获取td的值、Web 自动化测试---XPath等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9494968.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存