我在Java,Chrome上使用Selenium WebDriver 2.53.1。Selenium xpath text() - 简单选择看起来不起作用
我找到一个元素并将其保存在名为dropdownMenuList的WebElement变量中。这里是它的外部HTML格式。
<ul tabindex="-1" class="dropdownMenu apmurldropdownmenu thing menu" role="menu" aria-label="Menu region">
<li class="menuitem apmurldropdownmenu" tabindex="-1" role="menuitem">
<div class="thing text">CardNameWebpage</div>
</li>
<li class="menuitem apmurldropdownmenu" tabindex="-1" role="menuitem">
<div class="thing text">CardNameWebpage</div>
</li>
<li class="menuitem apmurldropdownmenu" tabindex="-1" role="menuitem">
<div class="thing text">CardNameWebpage</div>
</li>
<!-- react-text: 9 -->
<!-- /react-text -->
</ul>
然后我在里面搜索与XPath:
dropdownMenuList.findElement(By.xpath("*[text()='CardNameWebpage']"));
我也得到一个NoSuchElementException。但是HTML有这个文本的所有三个元素。我究竟做错了什么?
如果我使用//它从文档的顶部搜索。我只需要从这个元素搜索。 –
然后尝试'.//* [text()='CardNameWebpage']'(相对位置路径) –
在这种情况下,我会用'div'替换'*'以使其更具体......但这可能只是我。 :) – JeffC