[英]Javascript to get hidden text value from website using Selenium web driver
我如何在字符串变量中获取此Telefoon nummer。
<span itemprop="telephone" class="hidden" id="telefoon_28836_hidden">010 - 79 53 364</span>
我尝试了这段代码,但没有成功。
JavascriptExecutor jse = (JavascriptExecutor)driver;
String script = "return document.getElementByXPath('//span[@itemprop='telephone']').getText();";
String telno1 = ((JavascriptExecutor) driver).executeScript(script).toString();
我正在为String telno1行获取此异常
ErrorHandler$UnknownServerException: missing ) after argument list
请任何帮助谢谢
你可以用这个
String theTextIWant = ((JavascriptExecutor) driver).executeScript("return arguments[0].value;",driver.findElement(By.xpath("//span[@itemprop='telephone']")));
您只需要使用javascript提取输入字段的value属性即可。 如果它是div或textarea,那么您想使用innerHTML,innerText或textContent属性。 像下面一样
String theTextIWant = ((JavascriptExecutor) driver).executeScript("return arguments[0].innerHTML;",driver.findElement(By.xpath("//span[@itemprop='telephone']")));
您在这里混合了很多东西。 您不能只复制/粘贴Selenium代码并期望它可以在JavaScript中工作。
我的建议是首先使用Selenium的XPath机制查找元素, 然后将其传递到JavaScript字符串中。 您对硒的API只是工作,因为它可以让你找到各种方法元素,它会变换为可在JavaScript中,如果你想使用你的对象。
JavascriptExecutor jse = (JavascriptExecutor)driver;
WebElement element = driver.findElement(By.xpath("//span[@itemprop='telephone']"));
jse.executeScript("return arguments[0].text", element);
(未经测试,未经验证的代码,我没有Java IDE可以处理,可能无法编译)
内部xpath字符串似乎格式不正确。 这是因为使用了“单引号”:
尝试更换:
String script = "return document.getElementByXPath('//span[@itemprop='telephone']').getText();";
带有:
String script = "return document.getElementByXPath(\"//span[@itemprop='telephone']\").getText();";
^ ^
尝试这个
driver.findElement(By.id("telefoon_28836_hidden")).getText();
如果可行,请告诉我们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.