问题标签 [document.evaluate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
55 浏览

javascript - 基于确切顺序的Javascript遍历?

我想掌握不同格式文档中的一些信息。

我有以下文件:

和这个其他文件:

如您所见,我对这两个文档都使用了这个 XPath 选择器:

问题是,如果文档不包含具有文本内容的元素"_c"并且直接是具有文本内容的父级的祖先(子级)"245",它仍然会给我包含文本的兄弟的_c文本<td>"Publication"这不应该是案子。

如果运行 javascript 代码,它将给我以下信息: 第一个文档:作者编号。1 第二份文件:(无)。

实际上,我只想捕获_c具有直接祖先的文本内容<td>245</td><td>Title ...</td>.

我对如何做到这一点束手无策。我正在尝试使用 xpath 启动我的 xpath,_c但我遇到了一些错误。关于如何处理我的用例的任何想法?

如果除了 using 之外还可以实现document.evaluate(),我可以接受。

0 投票
2 回答
818 浏览

javascript - 如何在 python selenium webdriver 中使用 javascript 代码通过 xpath 查找 web 元素?

我想通过在 python 中执行 javascript 代码的 xpath 来查找 web 元素,然后单击它。这可能吗?如何做到这一点?

0 投票
0 回答
64 浏览

swift - SWIFT:WKWebView:填写登录数据

输入字段不接受自动填写的登录数据。

一般来说,我会寻找这样的解决方案:

但我必须模拟这样的虚拟keyPress事件:

虚拟keyPress活动对我来说有两个缺点:

  1. keyPress事件似乎不是确定性的,可能需要很长时间。
  2. 登录过程不能在后台完成。

对我有什么想法吗?

0 投票
3 回答
74 浏览

xml - DocumentFragment 上的 XML/XSL 评估()?

无论出于何种原因,如果我输入源 XML,评估就可以了。但是,如果我使用样式表转换 XML 并且它是 DocumentFragment,它会转到警报(“否”)。有人知道会发生什么吗?也许需要在运行评估之前转换 DocumentFragment?但是为了什么?非常感谢。

0 投票
0 回答
82 浏览

svg - 如何使用带有 document.evaluate 的 xpath 单击 svg 元素

我需要单击一个添加按钮,当我检查它时,我得到一个 xpath

HTML代码如下

所以我尝试使用以下代码单击该 svg 元素

我在提取 <svg> 元素中看到了一种使用 document.evaluate() 的解决方案?.所以在我的代码中试了一下,如下所示

但它显示错误,因为 document.evaluate(...).singleNodeValue.click 不起作用。我错了吗?任何人都可以使用 xpath 表达式帮助单击此元素吗?提前致谢。

0 投票
1 回答
75 浏览

javascript - 在 JavaScript 中,如何在任何变量中为 String 使用 Xpath

此代码有效。但这不是我想要的。

我想对来自外部的字符串使用 Xpath,但以下代码为 Null。

如何在 Javascript 中使用 Xpath 从外部获取字符串?

0 投票
0 回答
22 浏览

javascript - 为什么 document.evaluate 在手动突出显示 Web 元素后返回正确的值,但在浏览器控制台首次执行时无法返回?

要求在完全加载的网页上通过 xpath 检索 Web 元素名称。

所以我正在使用 document.evaluate ,下面是我从 chrome 浏览器控制台执行的代码行

尝试1:

输出:在浏览器控制台中如下:

尝试 2:我转到元素选项卡,在荧光笔的帮助下突出显示 Web 元素并切换到控制台选项卡并执行同一行代码

输出: 成功返回innerHTML元素名称,即本例中的cut。

首先直接从浏览器控制台选项卡执行时,如何使这行代码成功执行?

0 投票
1 回答
41 浏览

node.js - Xpath:在 Devtools 中工作,但使用 document.evaluate() 返回空对象

以下命令在 Devtools 控制台中按预期工作(例如,这里 - https://news.ycombinator.com/

$x('//a[@class="storylink"]')(边缘浏览器)

但是下面的代码:

返回一个空对象:{}. 同样的情况也发生在其他所有网站上。为什么会这样?