java - 如何使用 Selenium 获取隐藏范围的文本值

标签 java selenium-webdriver

我很难从网站上获取电话号码。 跨度看起来像,

<span itemprop="telephone" class="hidden" id="telefoon_28836_hidden">010 - 79 53 364</span> 

我试过这段代码

telno = driver.findElement(By.xpath("//span[@itemprop='telephone']")).getText();

我得到的是空值。

这是 Web 驱动程序加载页面后源代码的样子。

<div style="float: left; clear: both; padding-right: 7px;">Adres:<br>&nbsp;</div>
                            <div itemtype="http://schema.org/PostalAddress" style="float: left; color:#c71d22; width: 400px;">
                                <span itemprop="streetAddress">Mathenesserweg 49A BG</span><br>
                                <span itemprop="postalCode">3027 HE</span> <span itemprop="addressLocality"> Rotterdam </span>
                            </div>
                                                            <div style="float: left; clear: left; width: 70px;">&nbsp;<br>Telefoon:</div>
                                <div style="float: left; color:#c71d22; width: 400px;">&nbsp;<br>
                                    <span id="telefoon_28836_visible"><a href="#" class="countStatistieken" id="telefoon_28836" style="color:#c71d22;">Klik hier</a></span>
                                    <span itemprop="telephone" class="hidden" id="telefoon_28836_hidden">010 - 79 53 364</span>
                                </div>

如果我用

straat = driver.findElement(By.xpath("//span[@itemprop='streetAddress']")).getText();

我收到“Mathenesserweg 49A BG”,它工作正常,但我认为由于电话号码的 class="hidden",我得到的是空值。 有人可以帮我解决这个问题。 谢谢。

最佳答案

Selenium 是为了模仿用户输入而创建的。用户看不到隐藏的元素,这就是您找不到它的原因。

您应该直接在文档上查询以找到元素

String script = "return document.getElementById('telefoon_28836_hidden').innerHTML";
String telno = (String) ((JavascriptExecutor) driver).executeScript(script)

关于java - 如何使用 Selenium 获取隐藏范围的文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21907230/

相关文章:

java - 网络摄像头 api : Maximizing the 720p capture

java - 在 JAXBContext 中使用 XML 将 XML 转换为类时出现一些问题

java - 我试图从下拉列表中选择值,但我不能为什么?

python - 使用 WebDriver 和 Selenium 在类中获取跨度

Java(图形2D): triangle drawn by created Graphics2D not visible until second repaint

java - 是否可以从 Spring Integration http inbound-channel-adapter 返回 204?

java - 如何让Selenium等待页面上的元素被替换(java)

javascript - Windows 上的 Selenium WebDriver 错误 : logging. js 未找到

java - WebElement.isDisplayed 方法搜索元素可见性所需的最长时间?

java - 比较2个字段的elasticsearch查询(使用java)