Facile à devenir accro
Cette fois, je résumerai comment traiter ces deux points.
Avec JavaScript, même s'il contient des espaces
document.getElementByClassName("class name").innerText;
Écrivez simplement le nom de la classe tel qu'il est, comme Vous pouvez facilement obtenir l'élément de texte du nom de classe spécifié. Si vous souhaitez le remplacer par du sélénium,
WebDriver.findElement(By.cssSelector("div[class='class name']")).getText().toString();
Utilisation de By.cssSelector comme
Si vous spécifiez avec WebDriver.findElement (By.cssSelector (" {tag name} [class = '{class name}'] "))
, vous pouvez bien obtenir l'élément de texte.
Je n'ai pas explicitement étudié les types de balises d'élément qui peuvent être obtenues avec Selenium,
Principalement limité à div
, ʻa,
table,
tr,
td Pour identifier la balise
span, la balise
bet d'autres éléments, spécifiez l'élément directement dans Xpath ou spécifiez l'élément directement. Vous pouvez l'obtenir en spécifiant le nom de classe de l'élément de la balise
div` dans l'élément parent de l'élément que vous souhaitez obtenir.
<div class="div_class_name">
<b class="b_class_name">
<span class="span_class_name">Le texte que vous souhaitez obtenir</span>
</b>
</div>
Dans ce cas, vous pouvez obtenir le texte en utilisant le nom de classe " div_class_name
"dans la balise div
.
Lorsque vous utilisez Xpath, Avec la souris focalisée sur l'élément à l'aide des outils de développement de Chrome Clic droit → [Copier] → [Copier XPath] Puisque vous pouvez obtenir le XPath avec
WebDriver.findElement(By.xpath("{xpath}")).getText();
Vous pouvez obtenir le texte avec.
c'est tout.
Il s'écarte du thème de l'article, Puisqu'il y a une légère différence de défilement entre JavaScript et Selenium, Vous devez également faire attention à cela.
Même si vous pouvez bien l'obtenir avec JavaScript, cela ne fonctionne parfois pas comme prévu avec Selenium, donc Au pire, il est possible d'incorporer du code JavaScript dans du code Java et de l'exécuter, donc Tout ce que vous devez savoir, c'est ça!