【发布时间】:2021-10-12 17:42:30
【问题描述】:
我问过this question,我确实从 Kelvin Schoofs 那里得到了一条有用的信息,即 querySelect 是一种更好的选择方法,因此我实现了它。
var bc = document.querySelectorAll('button.link.event-detail__event-information__event-name-status__grouped-match');
for (var b of bc){
if(b.ariaExpanded=="false"){
b.click();
}
}
但是,选择不是我的问题,没有人回答我继续尝试提出的问题。所以让我在图片中尝试一下。
显示this page 带有一堆向上的 V 形符号,表示可以使用更多信息扩展这些行,并注意行之间的边界。 显示了我要启动的 53 个点击事件中的第一个的启动。 显示脚本的结果。请注意,现在所有 V 形都指向上方,表示行已扩展,行之间的边界线已消除,但仅此而已。 显示了我实际单击时应该出现的信息示例。
我尽可能地进入了网站代码。我确认它正在识别正确的元素和按钮并收集正确的数据(运动、日期等)以检索信息,但它从未插入到页面中。一段代码让我想知道这些点击是否没有像我预期的那样创建一个顺序队列,并且执行这么快可能意味着每个点击都取消了前一个。但是当我只对一行执行点击时,行为是相同的(V 形翻转,边框消失但没有数据)。
当我试图通过站点代码工作时,有一个例程(ft(e) 和 Un(),如果有人真的要查看)收集各种物理鼠标数据(客户端/screenX/Y,键状态, 等等。)。所以我会尝试最后一次问我一直在问的问题。 有什么东西可以区分脚本点击和物理点击吗?如果是这样,是否有解决方法?
我已经失去了大部分双手的使用能力,能够自动与网页交互对我很有帮助。这对于 VB6/IE 来说总是很容易。但是,当然,这不再适用于大量 HTML5 网站。所以我正在尝试学习 JavaScript,但如果这种自动化不再可能,我不想浪费我的时间。
非常感谢您的帮助。
【问题讨论】:
-
它真的执行了点击吗?是否也可以尝试在 if 语句中添加控制台日志?
-
在您链接的示例中,
className上没有与您的条件匹配的按钮 -
手动单击时,按钮图形会上下翻转(表示单击会收缩),并且该区域会被其他内容扩展。 sn-p 中的单击只会导致图形翻转,但不会出现其他内容。我不明白为什么“程序化点击”会给出与手动点击不同的行为。
-
当我显示该页面时,有匹配的按钮(50 个左右),并且在执行代码时这些图形被翻转。
-
我想你可能会找到一些有用的信息here (vanilla JavaScript), here (jQuery), here (jQuery again)
标签: javascript