Einfach süchtig zu werden
Dieses Mal werde ich zusammenfassen, wie mit diesen beiden Punkten umzugehen ist.
Mit JavaScript, auch wenn es Leerzeichen enthält
document.getElementByClassName("class name").innerText;
Schreiben Sie einfach den Klassennamen so wie er ist Sie können das Textelement des angegebenen Klassennamens leicht abrufen. Wenn Sie es durch Selen ersetzen möchten,
WebDriver.findElement(By.cssSelector("div[class='class name']")).getText().toString();
Mit By.cssSelector wie Wenn Sie mit "WebDriver.findElement (By.cssSelector (" {Tag Name} [class = '{Klassenname}'] ")" angeben, können Sie das Textelement gut erhalten.
Ich habe die Arten von Element-Tags, die mit Selenium erhalten werden können, nicht explizit untersucht.
Hauptsächlich beschränkt auf "div", "a", "table", "tr", "td"
Geben Sie das Element direkt in Xpath oder direkt an, um das Tag "span", das Tag "b" und andere Elemente zu identifizieren.
Sie können es erhalten, indem Sie den Klassennamen des Elements des div
-Tags im übergeordneten Element des Elements angeben, das Sie abrufen möchten.
<div class="div_class_name">
<b class="b_class_name">
<span class="span_class_name">Der Text, den Sie erhalten möchten</span>
</b>
</div>
In diesem Fall können Sie den Text erhalten, indem Sie den Klassennamen "div_class_name" im Tag "div" verwenden.
Bei Verwendung von Xpath Konzentrieren Sie die Maus mithilfe der Chrome-Entwicklungstools auf das Element Rechtsklick → [Kopieren] → [XPath kopieren] Da kann man den XPath mit bekommen
WebDriver.findElement(By.xpath("{xpath}")).getText();
Sie können den Text mit erhalten.
das ist alles.
Es weicht vom Thema des Artikels ab, Da es beim Scrollen zwischen JavaScript und Selen eine leichte Diskrepanz gibt, Auch hier müssen Sie vorsichtig sein.
Selbst wenn Sie es mit JavaScript gut machen können, funktioniert es mit Selen manchmal nicht wie erwartet Im schlimmsten Fall ist es möglich, JavaScript-Code in Java-Code einzubetten und auszuführen Alles was Sie wissen müssen ist das!
Recommended Posts