如何单击页面中的特定文本 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.all
或 document.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();
}
}
在尝试了很多方法来检测页面中的特定单词并自动点击它之后..到目前为止我已经
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.all
或 document.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();
}
}