我已经遇到了一个难题,我目前的代码在一个页面上
(function() {
var x = document.getElementById("length").options;
for (var i = 0; i < x.length; i++) {
if (x[i].text == "40") {
x[i].selected = true;
document.getElementsByName("buy")[0].click();
break;
}
}
var delayMillis = 400;
setTimeout(function() {
document.getElementsByClassName("button")[0].click();
}, delayMillis);
目前所有这些代码都完美无缺,但是一旦完成第二项任务,它就会打开一个新页面,然后代码就不会继续运行。
我希望在完成第一项任务后运行的代码是document.getElementsByClassName("checkbox terms")[0].click();
这段代码也运行完美,我如何整合第一部分和第二部分,但第二部分在另一部分加载后运行?
第一部分在一个页面上,一旦第二个按钮被击中就会进入第二部分,我试图创建一个自动化过程。
答案 0 :(得分:0)
当您从一个页面移动到另一个页面时,运行代码的整个JavaScript环境将被清除,并被新页面的 new 环境所取代。 (如果情况并非如此,请考虑一些惊人的安全问题。)
所以你需要将代码分成两部分,一部分应该在新页面加载之前运行,另一部分应该在之后运行。然后使用查询字符串参数,会话存储中的值或其他一些值,以便在页面加载时,它知道它需要运行第二部分。