我最近遇到了一个问题。
我需要在页面上找到一个包含特定文本的div标签。问题是,文本被内部链接标记分成两部分,因此超文本标记语言树看起来像:
**<html>
<...>
<div>
start of div text - part 1
<a/>
end of div text - part 2
</div>
<...>
</html>**
为了唯一地标识div标记,我需要div文本的两部分。当然,我会想出类似XPath的方法:
.//div[contains(text(), 'start of div text') and contains(text(), 'end of div text')]
但是,它不起作用,第二部分找不到。
什么是唯一描述这种标签的最佳方法?
这应该行得通:
//div[contains(text(), 'start of div text') and contains(./a/text(), 'end of div text')]
你就快到了。您只需将text()
替换为。
//div[contains(., 'start of div text') and contains(., 'end of div text')]
以下是验证的快照:
尝试使用以下XPath通过两个文本节点匹配所需的div
:
//div[normalize-space(text())="start of div text - part 1" and normalize-space(text()[2])="end of div text - part 2"]
这就是HTML代码。到目前为止,我已经进行了以下xpath查询: 这让我找到了
问题内容: 如果我搜索单个字符串,则效果很好: 但是我可以在下面的示例中有一个 or 语句吗? 问题答案: 在两个函数调用之间说 或使用函数使xpath不区分大小写
我有一个大的超文本标记语言电子邮件表,我正在尝试查找特定电子邮件的名称,然后在此元素中选择一个按钮。我可以通过XPATH轻松找到表体: 那么在这个表中有多行(tr),是否可以在所有表行中搜索文本? 我得到的最接近的结果是: 不幸的是,这无法定位元素。 我知道我可以简单地复制XPATH以定位特定的tr,但是出于自动化目的,我尝试传递一个字符串,然后在所有tr中搜索我的特定文本。
请帮助我,我正在尝试选择一个图片,这是一个链接(一个网站上的培训师) 这是我的代码:
对于以下超文本标记语言: 我们可以将第一行与这个xpath匹配-- 我们无法将第2行与此xpath匹配-- BR标记正在运行。Selenium IDE的“Select”功能可以获取DIV标记xpath,但不能深入到它所包含的文本中。 有什么建议吗?
我有一个非常简单的问题,我有一个div在一个html页面,我可以通过他的XPath访问这是:。 我想要一个XPath,可以提供这个div的所有子元素,但我找不到它。我需要用硒的findElements方法获取元素,但我测试的方法不起作用: 我的超文本标记语言代码如下: 我想这样使用XPath: 我的Java Selenium脚本如下: 我应该使用什么XPath来获取的子级? 编辑1:我确实使用了*