javascript - 只有此循环的第一部分有效(JavaScript)
问题描述
我的工作是制作一个自动浏览器机器人。
我尝试了这段代码来做我需要的事情。
// first finding and selecting button
var Select = document.getElementsByClassName('Login');
Select[0].click();
// second finding and selecting button
var Select2 = document.getElementsByClassName('OK');
Select2[0].click();
让我为你解释一下这段代码。这段代码试图找到一个类名为“登录”的按钮,然后它会点击那个按钮。之后会出现一个新窗口。接下来这段代码将尝试在其中找到另一个按钮那个新窗口,然后点击那个。
好的。这段代码很好,没有问题,因为我想把它放在一个循环中,让每件事都自动化。
for (i = 0; i < 5; i++) {
// first finding and selecting button
var Select = document.getElementsByClassName('Login');
Select[0].click();
// second finding and selecting button
var Select2 = document.getElementsByClassName('OK');
Select2[0].click();
}
好吧,现在当我运行这段代码时,第一次它会执行得很好,但不会有第二次了。浏览器的控制台向我显示:
第一次将执行所有代码,但第二次只执行第一次查找和单击按钮。当新窗口出现时,我的代码不再工作,它很糟糕,第二次查找和单击按钮将不会发生。
这些是第二个按钮的属性:
<button type="button" class="OK" ng-click="OK()">
<i class="btnIcon"></i>
confirm
</button>
解决方案
好吧,我终于找到了解决方案。当代码使用缓存文件时,该网站不允许我运行 Java Script 代码。代码没问题!
推荐阅读
- python-3.x - 我正在执行 face_detection 程序,但通过显示一些警告,输出没有出现
- javascript - 如何从函数中将数组作为字符串返回?
- scala - Scaladoc 继承通知
- html - 如何在使用 justify-items: center 的网格中使项目彼此左对齐
- wordpress - 外部产品特征图像到新标签中的外部链接-wordpress woocommerce
- css - 防止 SVG 笔划填充文本
- .net - Vb.net 如何将十进制 value1.9 转换为 1.09 而不是 1.90
- javascript - 使用 xampp 服务器从 Javascript 向端口 3000 上的 nodejs 发送 ajax 请求
- javascript - 有没有办法在javascript中做到这一点?还是可以导入/导出
- excel - 根据 ID 将日期列拆分为开始和结束列