【问题标题】:Button click doing nothing in chrome按钮单击在 chrome 中什么也不做
【发布时间】: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


【解决方案1】:

对我来说,你想要的按钮的 className 中有另一个类,解释了为什么 .className=="... 失败。

您可以使用 CSS 选择器通过 一些 类来识别按钮:

document.querySelectorAll('button.link.event-detail__event-information__event-name-status__grouped-match')

这意味着您的代码可以抵抗网站突然添加新类(或使用不同的顺序)。例如,对我来说,它添加了一个 link--using-mouse 类。

【讨论】:

  • 正如我所说,我的技能有限,所以我不知道为什么在我的计算机上,该类名选择了 54 个按钮并被代码单击。我有一个基本的想法,你所说的可能在页面生成期间发生。至少在我的电脑上我没有选择问题。您是否能够通过脚本找到并单击按钮,它们是否展开并填充?这是我试图解决/理解的行为差异。
  • document.querySelectorAll('button.link.event-detail__event-information__event-name-status__grouped-match').length = 0 再次感谢您的回复,但您能分享我可以学习的任何工作代码吗从?
猜你喜欢
  • 2012-10-11
  • 2020-05-28
  • 2018-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-28
相关资源
最近更新 更多