我正在尝试1000从隐藏的示例中读取示例字符串<div>:
1000
<div>
<div id="hidden_div" style="visibility:hidden">1000</div>
我知道这WebElement.getText()不适用于Selenium2(WebDriver)中的隐藏元素,因此我搜索了解决方案(像这样),显然以下代码应该可以工作:
WebElement.getText()
WebElement hiddenDiv = seleniumDriver.findElement(By.id("hidden_div")); String n = hiddenDiv.getText(); // does not work (returns "" as expected) String script = "return arguments[0].innerText"; n = (String) ((JavascriptExecutor) driver).executeScript(script, hiddenDiv);
但这对我不起作用,变量n始终以结尾null。我究竟做错了什么?
n
null
编辑:哦,这可行。
String script = "return document.getElementById('hidden_div').innerHTML";
在Firefox中。
这也是。
String script = "return arguments[0].innerHTML";
我也尝试过,但是它似乎不能用于纯Javascript。如此处所述,使用Jquery启动浏览器。如何在Selenium中使用JQuery?并使用以下代码编写脚本。
String script = "return $('#hidden_div').text();";
这可行。