使用 Selenium Web 驱动程序从网站获取隐藏文本值的 Javascript

Mur*_*can 1 javascript selenium

我怎样才能在字符串变量中获得这个电话号码。

<span itemprop="telephone" class="hidden" id="telefoon_28836_hidden">010 - 79 53 364</span>
Run Code Online (Sandbox Code Playgroud)

我试过这个代码没有蚂蚁成功。

JavascriptExecutor jse = (JavascriptExecutor)driver;
 String script = "return   document.getElementByXPath('//span[@itemprop='telephone']').getText();";
 String telno1 = ((JavascriptExecutor) driver).executeScript(script).toString();
Run Code Online (Sandbox Code Playgroud)

我收到 String telno1 行的此异常

ErrorHandler$UnknownServerException: missing ) after argument list
Run Code Online (Sandbox Code Playgroud)

请任何帮助谢谢

res*_*hma 6

你可以用这个,

String theTextIWant = ((JavascriptExecutor) driver).executeScript("return arguments[0].value;",driver.findElement(By.xpath("//span[@itemprop='telephone']")));
Run Code Online (Sandbox Code Playgroud)

您只需使用 javascript 提取输入字段的 value 属性。如果它是一个 div 或 textarea,那么您会喜欢使用 innerHTML、innerText 或 textContent 属性。像下面,

String theTextIWant = ((JavascriptExecutor) driver).executeScript("return arguments[0].innerHTML;",driver.findElement(By.xpath("//span[@itemprop='telephone']")));
Run Code Online (Sandbox Code Playgroud)