HTML代码如下所示:
<td id="id26a" class="doclisting-name link" style="width: 319px; min-width: 319px;">
<span id="id26b" title="Document">
<span class="ie-fallback-marker">
words
</span></span></td>
我无法搜索元素ID,因为它一直在变化。我无法搜索元素的类,因为可能会更改位置的倍数。
我希望能够单击SPAN标记之间的“单词”。这是可能吗?
这是我到目前为止使用的,但是似乎都不起作用:
//string document is words.
public void testscenario123(String document) throws Throwable {
Thread.sleep(3000);
driver.findElement(By.linkText(document)).click();
}
或者
//string document is words.
public void testscenario124(String document) throws Throwable {
Thread.sleep(3000);
driver.findElement(By.xpath("//*[contains(@span,'"+document+"')]")).click();
}
最佳答案
您可以通过文本选择xpath,而normalize-space会去除空白:
//string document is words.
public void testscenario124(String document) throws Throwable {
Thread.sleep(3000);
driver.findElement(By.xpath("//*[normalize-space()='"+document+"']")).click();
}
您可能还希望考虑等待元素出现,而不是声明显式 sleep
关于java - 使用Selenium Webdriver(java)在SPAN标记之间单击文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22146950/