Ich verwende Selen, um Text mit xpath auf meiner Webseite zu erhalten.Lesen von Text mit Selen-Webdriver (xpath)
Die Seite Tag-Struktur ist wie folgt -
<span id="data" class="firefinder-match">
Seat Height, Laden
<sup>
<a class="speckeyfootnote" rel="p7" href="#">7</a>
</sup>
</span>
Wenn ich den folgenden Code verwenden -
driver.findElement(By.xpath("//span[@id='data']")).getText();
ich das Ergebnis zu erhalten = Seat Height, Laden 7
Aber ich das vermeiden wollen, lesen Text innerhalb der <sup>
Tags und erhalten Sie die Ergebnis Seat Height, Laden
Bitte lassen Sie mich wissen, welchen xpath-Ausdruck ich verwenden kann, um mein gewünschtes Ergebnis zu erhalten.
Um. Im einfachen XPath (das Strings und nicht nur WebElements zurückgeben könnte), könnten Sie '// span [@ id = 'data']/text() [1]' verwenden. Eine mögliche Lösung, die ich mir vorstellen kann, verwendet JS, die zweite erhält den ganzen Text und löscht dann alles aus den untergeordneten Elementen. Beide Lösungen sind eher hässlich und ich würde gerne eine schönere sehen. Wie auch immer, wenn es in vernünftiger Zeit keine Antwort gibt, werde ich es posten. –
Warum Xpath ist Ihre einzige Option? Webdriver braucht am längsten, um ein Element nach dem xpath – Amey
zu finden. Ich benutze xpath nur, weil ich damit vertraut bin. Wenn es einen anderen Weg gibt, mein Problem zu lösen, werde ich dankbar sein. –