单击直到实际单击该元素

时间:2018-09-20 20:25:24

标签: javascript html google-chrome google-chrome-extension

我正在使用以下javascript代码:

document.getElementsByName("commit")[0].click();

要单击按钮,问题是当我发送命令时,有时页面未加载,因此无法单击。 那么,我如何才能执行点击,直到实际发生? 我已经尝试过这样的事情:

if (document.readyState === 'complete') { //don't work
document.getElementsByName("commit")[0].click();

}

但是它不起作用。 (我无法使用jquery,因为我使用的是chrome扩展程序)

3 个答案:

答案 0 :(得分:0)

DOMContentLoaded事件中触发它应该可以解决问题

document.addEventListener('DOMContentLoaded', function() {
    document.getElementsByName("commit")[0].click();
})

答案 1 :(得分:0)

尝试一下

Running on ansible-serverless in /root/workspace/test_job
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Verify CFT)
[Pipeline] withAWS
Constructing AWS CredentialsSetting AWS region us-east-1 
[Pipeline] {
[Pipeline] node
Running on Jenkins_Slave_290818_do_not_delete (i-6f1bdb6ae014f) in /home/ubuntu/workspace/test_job
[Pipeline] {
[Pipeline] script
[Pipeline] {
[Pipeline] sh
[test_job] Running shell script
+ shuf -i 1-10000 -n 1
[Pipeline] readFile
[Pipeline] echo
The current number is 6454
[Pipeline] }
[Pipeline] // script
[Pipeline] sh
[test_job] Running shell script
+ echo 6454
6454
[Pipeline] cfnUpdate
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // withAWS
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
    com.amazonaws.services.cloudformation.model.AmazonCloudFormationException: 1 validation error detected: Value 'CICD6454
-test' at 'stackName' failed to satisfy constraint: Member must satisfy regular expression pattern: [a-zA-Z][-a-zA-Z0-9]*|arn:[-a-zA-Z0-9:/._+]* (Service: AmazonCloudFormation; Status Code: 400; Error Code: ValidationError; Request ID: f59868c6-bd11-11e8-90e2)                                                                                  

我还要确保您将javascript文件放在页面底部而不是顶部。

答案 2 :(得分:0)

尝试以下代码:

document.querySelector('#myBtn').addEventListener('click', function () {
 // do some stuff here
});