似乎无法将if..else转换为try..catch

时间:2018-10-14 04:04:10

标签: javascript try-catch

有人能帮助我将此代码转换为try-catch函数吗?

document.getElementById("find").click();
window.setInterval(function() {
  if (document.getElementById("bba")) {
    document.getElementById("bba").click(); 
  } else {
    document.getElementById("find").click();
  }
}, 1000);

基本上,我希望它在该按钮可用时单击bba按钮,但由于该按钮仅在特定时间弹出(当我提交成绩时),所以整个代码不会运行。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

我想这可以解决问题

document.getElementById("find").click();
window.setInterval(function() {
  try {
      document.getElementById("bba").click(); 
  } catch(e) {
      document.getElementById("find").click();
  }
}, 1000);

但是,这实际上并没有改变底层的逻辑-因此不确定是否有帮助

答案 1 :(得分:0)

如果有其他可用的逻辑,我不会使用 try..catch 。编写您知道会引发错误的代码,就像凭感觉停车一样。

if..else 或类似结构绝对没有错,请考虑:

window.setInterval(function() {
  (document.getElementById("bba") || document.getElementById("find")).click();
}, 1000);

它不会抛出错误,只要 bba 有时存在并且 find 始终存在。