selenium - Selenium JavascriptExecutor document.evaluate 'XPathResult':结果类型不是数字
问题描述
我正在尝试node
使用 html 从 div 中获取第一个JavascriptExecutor document.evaluate
String txt = ((JavascriptExecutor)driver)
.executeScript("return document.evaluate(\"//div[@id = 'SIvCob']/node()[1]\",
document, null, XPathResult.ANY_TYPE, null)").toString();
System.out.print(txt);
但我在executeScript
org.openqa.selenium.JavascriptException:
javascript error:
Failed to read the 'numberValue' property from 'XPathResult':
The result type is not a number.
我想要的node
是一个简单的文本(没有html标签或其他东西)
我正在使用 ChromeDriver。
解决方案
我的问题的解决方案是调用stringValue
.document.evaluate(...)
像这样:document.evaluate(...).stringValue
推荐阅读
- reactjs - 身份验证 jwt 用 bacend spring 反应 js
- .net - 在 IIS 中使用 DNS 名称重定向到内部端口
- docker - Docker 重启后启动容器
- azure - Azure 自定义视觉服务紧凑域
- javascript - React Router 返回子组件而不是父组件
- cookies - 域和子域之间如何共享 cookie?
- reactjs - 从 spa 请求 oidc 访问令牌
- google-sheets - 谷歌表格 - 使用具有十六进制颜色的文本字符串的条件格式背景
- python - 如何在python中跟踪文件和文件夹
- r - 使用 R 导入 CSV 文件