Vid*_* NS 3 selenium selenium-webdriver
这是网页的 HTML:
<td class=" gridCell wrapText " style="height:27px;" headers="a15" data-post="" title="">
<div class="oflowDivM ">
<span>
<script src="webwb/pzpega_control_text_12877380907.js!!.js" type="text/javascript"/>
<span class="leftJustifyStyle" data-ctl="Text">30,980,030.0000</span>
</span>
</div>
Run Code Online (Sandbox Code Playgroud)
我的目的是提取值 30,980,030.0000 我正在使用以下代码:
driver.findElement(By.xpath("//td/div/span/span")).getText();
Run Code Online (Sandbox Code Playgroud)
但是,getText()返回一个空字符串。这xpath是正确的,因为我没有得到NoSuchElementException。你能帮我找出我的错误吗?
你能不能试试下面的值,看看是否打印了值:
driver.findElement(By.xpath("//td/div/span/span")).getAttribute("innerText");
Run Code Online (Sandbox Code Playgroud)
如果它仍然发生,您可以尝试等待几秒钟,然后尝试查找元素并获取文本。
我可能认为你的元素是隐藏的,所以 getText() 返回空白。@JeffC 的评论应该可以解决您的问题。否则,请尝试以下代码:
Thread.sleep(5000);
string text = driver.findElement(By.cssSelector("td > div span.leftJustifyStyle")).getAttribute("innerText");
Run Code Online (Sandbox Code Playgroud)
或仅查找包含长度超过 2 个字符的字符串的跨度
Thread.sleep(5000);
string text = driver.findElement(By.xpath("//td/div/span/span[string-length(normalize-space(text())) > 2]")).getAttribute("innerText");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5664 次 |
| 最近记录: |