11

Selenium Webdriverで、スパンタグからテキストを取得して印刷するにはどうすればよいですか?

テキストを抽出する必要があります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.

4

8 に答える 8

11

スパン要素が隠されている可能性があります。その場合は、innerHtml プロパティを使用します。

投稿者.css:

String kk = wd.findElement(By.cssSelector("#customSelect_3 span.selectLabel"))
              .getAttribute("innerHTML");

By.xpath:

String kk = wd.findElement(By.xpath(
                   "//*[@id='customSelect_3']/.//span[contains(@class,'selectLabel')]"))
              .getAttribute("innerHTML");

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

于 2014-12-15T19:23:24.000 に答える
6

cssの方が優れていることに同意します。Xpath経由でやりたい場合は、次を試すことができます:

    String kk = wd.findElement(By.xpath(.//*div[@id='customSelect_3']/div/span[@class='selectLabel clear'].getText()))
于 2013-10-08T04:45:12.993 に答える
3

あなたのコードは読むべきです -

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

CSS を使用します。それははるかにクリーンで簡単です..それで問題が解決するかどうか教えてください。

于 2013-10-08T03:49:24.477 に答える
2

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();
于 2013-10-08T17:39:09.283 に答える