javascript - 如何在 Tampermonkey 中制作脚本以自动单击
问题描述
我尝试使用此功能自动单击。
setTimeout(function(){document.getElementById("*********").click();}, 1500);
通过输入数字“15648632145687”,但失败了
任何人都可以帮忙吗,每一页上的数字都会改变,所以我需要一个脚本,即使在它改变后也能识别这个值并点击
这是 X 路径 ( /html/body/div/table/tbody/tr/td[1]/a
)
这是供参考的图像:
解决方案
getElementById
仅适用于id
您的示例 HTML 缺少的属性。相反,您可以通过其data
属性选择元素。
值得注意的是,严格来说,您不应该data
在 JavaScript 中使用属性来选择 HTML 元素,因为性能比其他方法差,而且data
属性不打算以这种方式使用。
尽管如此,对于您的用例,它可能会成为一个很好的解决方案:
setTimeout(function(){
// Select the element by its data attribute
var element = document.querySelector('[data-search-value]');
element.click();
// Example of getting the value of the data attribute
var elementValue = element.getAttribute('data-search-value');
console.log('elementValue', elementValue);
}, 1500);
<a href="#" data-search-value="15648632145687">15648632145687</a>
推荐阅读
- python - 如何摆脱 CSV 中的撇号但保持前导 0?
- arrays - 将嵌套结构中的数组附加到另一个嵌套结构中的另一个数组
- r - ggplot 图形不输出 Jupytr Notebook (R/tidyverse)
- angularjs - 从 angularjs 升级到 angular 时替换 ng-include 的最佳实践?
- azure-blob-storage - Azure 表单识别器培训未找到数据
- reactjs - 如果用户不存在,则 React + Firebase 表单验证
- c++ - 为 std::vector 编写自定义插入函数
- java - 无法解析 Maven 工件;试图从错误的存储库中解析工件
- numpy - 从 3D numpy 数组的每个 2D 切片中获取不同的列
- html - 使用语义 ui react 处理溢出的组件