gpt4 book ai didi

Javascript:使用 while 循环等待文档加载不起作用

转载 作者:行者123 更新时间:2023-12-03 08:22:02 25 4
gpt4 key购买 nike

我正在尝试为我的同事创建一个 html 文档来完成在线测试(我有正确的答案)。加载文档时,它会请求您的用户名和密码并尝试登录,然后填写答案并提交。

但是我无法将用户和密码值传递给页面中的元素,这是错误:

无法将属性“值”设置为 null

当我的脚本尝试获取其元素时,页面未完全加载,我该如何使其工作?

<html>
<head>
<title>BCG test</title>
<script type="text/javascript">
function bcg(){
var user = prompt("Enter username: ");
var pass = prompt("Enter password: ");
var site = "http://app.huawei.com/bcg";

location = site;

while(true){
if (document.readyState == "complete"){
break;
}
}

var user_box = document.getElementById("uid");
var pass_box = document.getElementById("password");
var submit_button = document.getElementsByName("Submit")[0];

user_box.value = user;
pass_box.value = pass;
submit_button.click();
}

</script>
</head>
<body onload = "bcg()">
<h1>BCG TEST</h1>
</body>
</html>

最佳答案

您不应该使用 while(true) 循环,因为它会永远无限快地循环。这将导致浏览器卡住。如果您需要继续检查某些内容,请使用 setInterval 设置计时器。 .

但是,出于此目的,您似乎希望等到页面加载。将要执行的代码放在此 block 中:

document.addEventListener("DOMContentLoaded", function() {
var user_box = document.getElementById("uid");
var pass_box = document.getElementById("password");
var submit_button = document.getElementsByName("Submit")[0];

user_box.value = user;
pass_box.value = pass;
submit_button.click();
});

关于Javascript:使用 while 循环等待文档加载不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33703807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com