Sur Selenium Webdriver, comment puis-je récupérer du texte à partir d'une balise span & print?
Je dois extraire le texte - "UPS Overnight - Free"
Le code HTML est le suivant:div id="customSelect_3" class="select_wrapper">
<div class="select_display hovered">
<span class="selectLabel clear">UPS Overnight - Free</span>
En utilisant le code suivant:
String kk = wd.findElement(By.xpath(//*[@id='customSelect_3']/div[1]/span)).getText();
System.out.println(kk);
Mais le code ci-dessus renvoie/impression texte - "1" .
Je suis d'accord css est mieux. Si vous voulez le faire via Xpath, vous pouvez essayer:
String kk = wd.findElement(By.xpath(.//*div[@id='customSelect_3']/div/span[@class='selectLabel clear'].getText()))
Votre code devrait lire -
String kk = wd.findElement(By.cssSelector("div[id^='customSelect'] span.selectLabel")).getText();
Utilisez CSS. c'est beaucoup plus propre et plus facile .. Faites-moi savoir si cela résout votre problème.
Peut-être que l'élément span est caché. Si c'est le cas, utilisez la propriété innerHtml:
String kk = wd.findElement(By.xpath("//*[@id='customSelect_3']/.//span[contains(@class,'selectLabel')]")).getAttribute("innerHTML")
"/.//" signifie "regarder sous l'élément sélectionné".
Si vous préférez utiliser xpath et que cette plage est la seule en dessous de votre div, utilisez mon exemple ci-dessous. Je recommanderais d'utiliser CSS (voir le post de sircapsalot).
String kk = wd.findElement(By.xpath(//*[@id='customSelect_3']//span)).getText();
exemple css:
String kk = wd.findElement(By.cssSelector("div[id='customSelect_3'] span[class='selectLabel clear']")).getText();
Vous devez localiser l'élément et utiliser la méthode getText () pour extraire le texte.
WebElement element = driver.findElement(By.id("customSelect_3"));
System.out.println(element.getText());
Manière pythonique d’obtenir du texte à partir de balises Span:
driver.find_element_by_xpath("//*[@id='customSelect_3']/.//span[contains(@class,'selectLabel clear')]").text
PHP moyen d'obtenir du texte à partir de balise span:
$spanText = $this->webDriver->findElement(WebDriverBy::xpath("//*[@id='specInformation']/tbody/tr[2]/td[1]/span[1]"))->getText();
String kk = wd.findElement(By.xpath(//*[@id='customSelect_3']/div[1]/span));
kk.getText().toString();
System.out.println(+kk.getText().toString());