web-dev-qa-db-ja.com

Selenium WebDriverでは、Span Tagからテキストを取得する方法

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

8
Onu

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")

「/.//」は「選択した要素の下を見る」という意味です。

5
carlin.scott

あなたのコードを読む必要があります-

String kk = wd.findElement(By.cssSelector("div[id^='customSelect'] span.selectLabel")).getText();

CSSを使用します。それははるかにきれいで簡単です。それがあなたの問題を解決するかどうか教えてください。

3
ddavison

むしろ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();
2
NaviSaysListen

要素を見つけて、getText()メソッドを使用してテキストを抽出する必要があります。

WebElement element = driver.findElement(By.id("customSelect_3"));
System.out.println(element.getText());
1
Jayesh Vaghela
String kk = wd.findElement(By.xpath(//*[@id='customSelect_3']/div[1]/span));

kk.getText().toString();

System.out.println(+kk.getText().toString());
1
bhasat

Spanタグからテキストを取得するPythonの方法:

driver.find_element_by_xpath("//*[@id='customSelect_3']/.//span[contains(@class,'selectLabel clear')]").text
0
Shrikant Kakani

Spanタグからテキストを取得するPHPの方法:

$spanText = $this->webDriver->findElement(WebDriverBy::xpath("//*[@id='specInformation']/tbody/tr[2]/td[1]/span[1]"))->getText();
0
Sudheesh.M.S