2017-12-08 16 views
0

人。コードの最適化 - 自動クリック

私は、データベースのエントリを自動的に承認するために、tampermonkey/violentmonkeyで次のコードを使用しています。

コード自体はうまく動作しますが、いくつかの2つのタブで使用する必要があるため、エントリが高くなるため、高速化する方法があるかどうか疑問に思っています。

window.onload=function(){ 

setInterval(autoBypass,1500); }; 

function autoBypass(){ 
if(document.getElementsByClassName("error").length>0){ 
document.getElementsByClassName("bypass")[0].click(); 
} 
else{setInterval(autoAprove,500);} 
} 

function autoAprove(){ 
if(document.getElementsByClassName("aprove").length>0){ 
document.getElementsByClassName("aprove")[0].click(); 
} 
} 

私は時々ロードするためのページに時間を与えるために1.5秒を使用しますが - 私はOperaブラウザを使用している場合は特に - それはループにはまり、私はタブを閉じる必要があります。

アイデア?

答えて

0

あなたのコードは1500msごとにautoBypassで実行されます。 1500msごとに、autoBypassautoAproveに500msごとに実行されます。 1分後にautoAproveが1740回実行され、そこから悪化するだけです。ブラウザの時間がますます増えてコードが実行され、入力に応答できなくなります。

これらのタイマーの一方または両方は、setIntervalではなく、setTimeoutである必要があります。

+0

これは完璧に機能しました。どうもありがとうございました。 私は両方のタイマーでsetTimeoutを使用しました。これにより、1msを別のタイマーでクリックをキャンセルせずに使用することができ、パフォーマンスが大幅に向上しました。 Operaもうまく動作しているようです。ありがとう、もう一度男! –