[英]Increment with remainder not working
在我的腳本中,計算機單擊WhatsApp Web中的聯系人選項卡,然后每次檢查該人是否在線。 這是通過一個循環完成的,當到達觸點號16時,該循環再次開始。 無論如何,循環不起作用,變量“ i”也不會增加。 這很奇怪,因為如果我用console.log替換selectContact( ${i}
),那么增量就可以了。 也許${}
阻止i更新?
var i = 1
setInterval(function () {
selectContact(`${i}`)
if (document.getElementsByClassName("O90ur")[0] !== undefined) {
var online = document.getElementsByClassName("O90ur")[0].innerHTML
if (online == "online") {
console.log(`${i}`)};
}
i = i % 16 + 1
}, 1000);
如果問題應在此處,則這是selectContact的代碼。
var jq = document.createElement('script');
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
contacts = [];
chat_div = [];
function triggerMouseEvent(node, eventType) {
var event = document.createEvent('MouseEvents');
event.initEvent(eventType, true, true);
node.dispatchEvent(event);
}
function getChatname(){
$("#pane-side > div > div > div").find("._2FBdJ > div._25Ooe").each(function(){
contacts.push($(this).text());
chat_div.push($(this));
})
}
function selectContact(name){
getChatname()
for (i = 0; i < contacts.length; i++){
if (name.toUpperCase() === contacts[i].toUpperCase()){
triggerMouseEvent(chat_div[i][0],"mousedown")
}
}
}
您已經錯過了在var
循環中聲明i
的var
語句,這意味着它會覆蓋全局i
。
function selectContact(name){
getChatname()
for (var i = 0; i < contacts.length; i++){
if (name.toUpperCase() === contacts[i].toUpperCase()){
triggerMouseEvent(chat_div[i][0],"mousedown")
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.