在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
。
答案 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();