如果使用 Greasemonkey 命令,请在里面等待

Wait inside if command with Greasemonkey

我想在页面上出现一个按钮时单击它,然后等待几秒钟再单击另一个按钮。

我的代码的相关部分如下;

window.onload = function(){
  if(document.getElementsByClassName("btnx").length>0){
      document.getElementsByClassName("btnx")[0].click()
      &(document.getElementsByClassName("btny")[0].click());
  }
}

问题是当它点击 btnx 时它必须等待几秒钟才能点击 btny 但它几乎同时点击了两者。任何关于这方面的建议都会很棒。

我明白了,就把我的问题和答案留在这里,以帮助以后搜索的人;

window.onload = function(){
  if(document.getElementsByClassName("btnx").length>0){
      document.getElementsByClassName("btnx")[0].click()
      &setTimeout(function(){(document.getElementsByClassName("btny")[0].click())},3000);
  }
}

这是我的解决方案版本

window.onload = function() {
  let btnx = document.getElementsByClassName("btnx")[0];
  let btny = document.getElementsByClassName("btny")[0];

  btny.addEventListener("click", function() {
    console.error("btny clicked");
  });
  btnx.addEventListener("click", function() {
    console.error("btnx clicked");
    setTimeout(function() {
      btny.click();
    }, 1000);
  });

  btnx.click();
};