在Selenium WebDriver上如何从Span Tag获取Text

Onu*_*Onu 9 html java selenium selenium-webdriver

在Selenium Webdriver上,我如何从span标签和打印中检索文本?
我需要提取文字 - "UPS隔夜 - 免费"

HTML代码如下:
UPS Overnight - Free

使用以下代码:

div id="customSelect_3" class="select_wrapper">
<div class="select_display hovered">
<span class="selectLabel clear">UPS Overnight - Free</span>
Run Code Online (Sandbox Code Playgroud)

但上面的代码是返回/打印文本 - "1".

小智 6

我同意css更好.如果您确实想通过Xpath执行此操作,可以尝试:

    String kk = wd.findElement(By.xpath(.//*div[@id='customSelect_3']/div/span[@class='selectLabel clear'].getText()))
Run Code Online (Sandbox Code Playgroud)


car*_*ott 6

也许span元素是隐藏的。如果是这种情况,请使用innerHtml属性:

By.css:

String kk = wd.findElement(By.cssSelector("#customSelect_3 span.selectLabel"))
              .getAttribute("innerHTML");
Run Code Online (Sandbox Code Playgroud)

By.xpath:

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

“ /.//”表示“在所选元素下查找”。


dda*_*son 3

你的代码应该是 -

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

使用CSS。它更干净、更容易......让我知道这是否解决了您的问题。