我有2个按钮,我想先单击“ Button1”,然后单击5秒钟。 “ Button2”
再过10秒重定向到另一个URL。

document.getElementById('Button1').click();
alert("After clicking Button1");
setTimeout(function(){
document.getElementById('Button2').click();
}, 5000);
alert("After clicking Button2");
setTimeout(function(){
window.location.href="http://google.com";
}, 10000);


我懂了


  未捕获的TypeError:无法读取null的属性“ click”。


按钮可以正常工作并单击,但重定向代码无效。奇怪的是,我使用警报来检查代码,它首先运行警报,然后单击“ Button1”,然后单击“ Button2”,然后出现错误,并且它不会继续执行最后的代码。我不知道该怎么做..

最佳答案

我认为您的第二个警告声明放错了位置。
尝试这个:

document.getElementById('Button1').click();
alert("After clicking Button1");

// wait 5 seconds
setTimeout(function(){
    document.getElementById('Button2').click();
    alert("After clicking Button2");

    // wait 10 seconds
    setTimeout(function(){
        window.location.href="http://google.com";
    }, 10000);
}, 5000);


确保存在Button2,因为您收到的错误表明它不存在。
您的HTML应该如下所示:

<button id="Button1">this is button 1</button>
<button id="Button2">this is button 2</button>

10-06 05:46