javascript - 在 xpath 中使用动态变量

标签 javascript variables xpath greasemonkey

我需要有关此脚本的一些帮助:

var xpathResult = document.evaluate("(//text()[contains(., 'TEXT GOES HERE')])[1]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
var node=xpathResult.singleNodeValue;
if (node==null)

我还有一个像这样的字符串列表:

var mycars = new Array();
mycars[0] = "Saab";
mycars[1] = "Volvo";
mycars[2] = "BMW";

我可以用变量 mycars 替换第一个脚本中的 TEXT GOES HERE 吗?我这样做是因为我有一个动态生成的页面,我想根据存在的数组使用greasemonkey 对其进行操作。

最佳答案

这个问题有点不清楚,但一般来说,您会使用 for() 循环。像这样的事情:

var foundSomething  = false;

for (var J in mycars) {
    var xpathResult     = document.evaluate (
        "(//text()[contains(., '" + mycars[J] + "')])[1]",
        document,
        null,
        XPathResult.FIRST_ORDERED_NODE_TYPE,
        null
    );
    var node            = xpathResult.singleNodeValue;
    if (node) {
        foundSomething  = true;
        // DO WHATEVER WITH THE FOUND NODE HERE.
        // break;  // Un-comment this statement to stop on the first match.
    }
}

关于javascript - 在 xpath 中使用动态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14144016/

相关文章:

javascript - 如何动态更改jquery datepicker样式

jquery - 使 jQuery ui 对话框不起作用?

java - 如何使用 url 作为 StringReader 的 InputSource

javascript - 如何在 JavaScript 中优雅地将函数分配给多个对象属性

c - C中main之外的变量范围

Javascript 变量 - Getter 问题

Javascript:如何将附加变量传递给 Promise .catch 函数

python - 为什么selenium找不到标签和类

c++ - 解析 xpath 表达式

javascript - 是否可以通过拖动更改背景位置?