我正在尝试使用xpath在硒中定位xml元素。它嵌套在内部。
我手头有3498546和3498755。我需要将这些数字与
我尝试了以下各种组合: xpath = // * [@ id =“ tabs”] / ul / li / [包含(div,'3498546')]
但它从未成功。
下面是示例html代码,我在
中列出了大约100
<div id="tabs">
<ul>
<li class="unknown">
<span style="">DELIVERED</span>
<a title="A1" onclick="submitForm('e1:eForm',1);return false;"
class="eLink" href="#">
<div class="c1">"Year 2008
"
<br>"3498546
"
<br>
</div>
<strong>Date: </strong>05/14/2019
</a>
</li>
<li class="unknown">
<span style="">DELIVERED</span>
<a title="A2" onclick="submitForm('e1:eForm',1);return false;"
class="eLink" href="#">
<div class="c1">"Year 2008
"
<br>"3498755
"
<br>
</div>
<strong>Date: </strong>05/14/2019</a>
</li>
</ul>
</div>
我希望能够找到并单击文本为3498546或3498755的元素。
答案 0 :(得分:0)
这是基于3498546
的xpath。
//div[@class='c1'][contains(normalize-space(.),'3498546')]
您可以将3498546
的值更改为所需的数字并使用该数字。如果要获取所有具有数字的元素并单击每个元素,则可以使用下面的xpath。
//div[@id='tabs']//div[@class='c1']
答案 1 :(得分:0)
//div[contains(text(),'3498755')]
所有您需要的是查找div元素,其文本中包含您要查找的数字。
答案 2 :(得分:0)
要对文本为click()
或3498546
的任一元素进行3498755
,可以使用以下解决方案:
3498546
:
Java 和 partialLinkText :
driver.findElement(By.partialLinkText("3498546")).click();
3498755
:
Java 和 partialLinkText :
driver.findElement(By.partialLinkText("3498755]")).click();