Java 关于SeleniumWebDriver如何从Span标记获取文本
在SeleniumWebDriver上,如何从span标记和打印中检索文本 我需要提取文本Java 关于SeleniumWebDriver如何从Span标记获取文本,java,html,selenium,selenium-webdriver,Java,Html,Selenium,Selenium Webdriver,在SeleniumWebDriver上,如何从span标记和打印中检索文本 我需要提取文本UPS过夜免费 HTML代码如下所示: div id="customSelect_3" class="select_wrapper"> <div class="select_display hovered"> <span class="selectLabel clear">UPS Overnight - Free</span> 但是上面的代码正在返回/打印文本:1
UPS过夜免费
HTML代码如下所示:
div id="customSelect_3" class="select_wrapper">
<div class="select_display hovered">
<span class="selectLabel clear">UPS Overnight - Free</span>
但是上面的代码正在返回/打印文本:
1
您的代码应该是-
String kk = wd.findElement(By.cssSelector("div[id^='customSelect'] span.selectLabel")).getText();
使用CSS。它更干净、更容易。。让我知道这是否解决了您的问题。我同意css更好。如果您确实希望通过Xpath执行此操作,可以尝试:
String kk = wd.findElement(By.xpath(.//*div[@id='customSelect_3']/div/span[@class='selectLabel clear'].getText()))
如果您更愿意使用xpath,并且该跨度是div下方的唯一跨度,请使用下面的示例。我建议使用CSS(参见sircapsalot的帖子) css示例:
String kk = wd.findElement(By.cssSelector("div[id='customSelect_3'] span[class='selectLabel clear']")).getText();
可能跨度元素是隐藏的。如果是这种情况,请使用innerHtml属性: By.css:
String kk=wd.findelelement(By.cssSelector(“#customSelect_3 span.selectLabel”))
.getAttribute(“innerHTML”);
By.xpath:
String kk=wd.findElement(By.xpath(
“//*[@id='customSelect_3']/.//./span[包含(@class,'selectLabel')]”)
.getAttribute(“innerHTML”);
“/。/”表示“查看所选元素”
从Span标记获取文本的Python方式:
driver.find_element_by_xpath("//*[@id='customSelect_3']/.//span[contains(@class,'selectLabel clear')]").text
PHP从span标记获取文本的方法:
$spanText = $this->webDriver->findElement(WebDriverBy::xpath("//*[@id='specInformation']/tbody/tr[2]/td[1]/span[1]"))->getText();
您需要找到元素并使用getText()方法提取文本
WebElement element = driver.findElement(By.id("customSelect_3"));
System.out.println(element.getText());
谢谢大家提出的好建议,但不幸的是,没有一个能产生预期的结果。是否仍将1显示为可见文本的结果?对于Java,我遇到了一个BR标记返回空的问题。我使用了
.getText()
而不是.getAttribute(“innerHTML”)
,它将返回我要查找的内容,包括任何不可见的HTML或隐藏的文本。如果周围有一点文本就好了;)谢谢,.getAttribute(“innerHTML”)真的解决了我的问题
driver.find_element_by_xpath("//*[@id='customSelect_3']/.//span[contains(@class,'selectLabel clear')]").text
$spanText = $this->webDriver->findElement(WebDriverBy::xpath("//*[@id='specInformation']/tbody/tr[2]/td[1]/span[1]"))->getText();
WebElement element = driver.findElement(By.id("customSelect_3"));
System.out.println(element.getText());