如何单击页面中的特定文本 JAVASCRIPT

how to click a specific text in the page JAVASCRIPT

在尝试了很多方法来检测页面中的特定单词并自动点击它之后..到目前为止我已经

var items = document.body.getElementsByTagName("*");
for (var i = 0; i < items.length; ++i) {
    if (items[0].textContent == "my text or word") {
        items[0].click();
    }
}

最新的代码似乎只在第一次(一次)工作,但刷新后没有任何反应,我不知道出了什么问题

当它应该是 items[i] 时,你的 for 循环中有 items[0],所以它没有迭代条件或点击。

var items = document.body.getElementsByTagName("*");
for (var i = 0; i < items.length; ++i) {
    if (items[i].textContent == "my text") {
        items[i].click();
        console.log("clicked", i) 
    } else {
        console.log("loop",i)
    } 
}
<div></div>
<div>my text</div>
<div>my text</div>
<div></div>

出于某种原因,我在 document.body.getElementsByTagName("*") 中取得了混合成功,因此下面的代码使用 document.alldocument.body.getElementsByTagName("*"),具体取决于所支持的。

您使用 [0] 作为索引,而它本应是变量 [i]。此外,您可以使用 .includes 方法来搜索子字符串(字符串中的字符串),从而更有可能找到您要查找的元素。刚刚在 firefox 控制台中测试了以下内容,似乎工作正常。

 if (document.all !== undefined)
    {
      var items = document.all;
    }
    else
    {
      var items = document.getElementsByTagName("*");
    };                    
        for (var i = 0; i < items.length; ++i) {
        if (items[i].textContent.includes("Your Text Here")) {
            console.log("success"); 
            items[i].click();
        }
    }