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

时间:2013-10-08 02:50:11

标签: java html selenium selenium-webdriver

在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 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:4)

可能隐藏了span元素。如果是这种情况,则使用innerHtml属性:

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

&#34; /.//&# 34;意味着&#34;查看所选元素&#34;。

答案 2 :(得分:3)

您的代码应为 -

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

使用CSS。它更清洁,更容易..如果能解决您的问题,请告诉我。

答案 3 :(得分: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();

答案 4 :(得分:1)

您需要找到元素并使用getText()方法提取文本。

WebElement element = driver.findElement(By.id("customSelect_3"));
System.out.println(element.getText());

答案 5 :(得分:0)

String kk = wd.findElement(By.xpath(//*[@id='customSelect_3']/div[1]/span));

kk.getText().toString();

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

答案 6 :(得分:0)

从Span标签获取文本的Pythonic方法:

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

答案 7 :(得分:0)

从span标记获取文本的PHP方式:

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