Ich verwende Selenium WebDriver 2.53.1 auf Java, Chrome.Selen xpath text() - einfache Auswahl scheint nicht funktioniert
Ich finde ein Element und speichern Sie es in einer WebElement-Variable namens dropdownMenuList. Hier ist sein OuterHTML, formatiert.
<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>
Dann suche ich darin von XPath:
dropdownMenuList.findElement(By.xpath("*[text()='CardNameWebpage']"));
Und ich bekomme eine NoSuchElementException. Aber der HTML hat alle drei Elemente mit diesem Text. Was mache ich falsch?
Wenn ich // verwende, wird vom Anfang des Dokuments gesucht. Ich muss nur von diesem Element aus suchen. –
Dann versuchen './/** [text() = 'CardNameWebpage']' (relative Pfad) –
Ich würde '*' durch 'div' in diesem Fall ersetzen, um es genauer zu machen ... aber das kann nur sein mich. :) – JeffC