Selenium Webdriverで、spanタグからテキストを取得して印刷するにはどうすればよいですか?
テキストを抽出する必要がありますUPS Overnight - Free
HTMLコードは次のとおりです。
div id="customSelect_3" class="select_wrapper">
<div class="select_display hovered">
<span class="selectLabel clear">UPS Overnight - Free</span>
次のコードを使用:
String kk = wd.findElement(By.xpath(//*[@id='customSelect_3']/div[1]/span)).getText();
System.out.println(kk);
しかし、上記のコードはテキストを返す/印刷しています:1
。
CSSの方が優れていることに同意します。 Xpath経由でやりたい場合は、以下を試してみてください。
String kk = wd.findElement(By.xpath(.//*div[@id='customSelect_3']/div/span[@class='selectLabel clear'].getText()))
たぶん、スパン要素が非表示になります。その場合は、innerHtmlプロパティを使用します。
String kk = wd.findElement(By.xpath("//*[@id='customSelect_3']/.//span[contains(@class,'selectLabel')]")).getAttribute("innerHTML")
「/.//」は「選択した要素の下を見る」という意味です。
あなたのコードを読む必要があります-
String kk = wd.findElement(By.cssSelector("div[id^='customSelect'] span.selectLabel")).getText();
CSSを使用します。それははるかにきれいで簡単です。それがあなたの問題を解決するかどうか教えてください。
むしろxpathを使用し、そのスパンがdivの下の唯一のスパンである場合、以下の私の例を使用してください。 CSSの使用をお勧めします(sircapsalotの投稿を参照)。
String kk = wd.findElement(By.xpath(//*[@id='customSelect_3']//span)).getText();
cssの例:
String kk = wd.findElement(By.cssSelector("div[id='customSelect_3'] span[class='selectLabel clear']")).getText();
要素を見つけて、getText()メソッドを使用してテキストを抽出する必要があります。
WebElement element = driver.findElement(By.id("customSelect_3"));
System.out.println(element.getText());
String kk = wd.findElement(By.xpath(//*[@id='customSelect_3']/div[1]/span));
kk.getText().toString();
System.out.println(+kk.getText().toString());
Spanタグからテキストを取得するPythonの方法:
driver.find_element_by_xpath("//*[@id='customSelect_3']/.//span[contains(@class,'selectLabel clear')]").text
Spanタグからテキストを取得するPHPの方法:
$spanText = $this->webDriver->findElement(WebDriverBy::xpath("//*[@id='specInformation']/tbody/tr[2]/td[1]/span[1]"))->getText();