【问题标题】:While in chrome console在 chrome 控制台中
【发布时间】:2017-07-12 10:00:26
【问题描述】:

运行一个简单的字符串:

if(document.getElementsByClassName("case".toLowerCase())[0].textContent.toLowerCase() !== "boredom") {
 $("#button").click()
}

点击成功后页面刷新。

这很好用,但是我需要让它无限,直到无聊为止。

尝试循环:

 while(document.getElementsByClassName("word".toLowerCase())[0].textContent.toLowerCase() !== "blast") {
 $("#button-0").click()
}

但 chrome 进入无限循环而不单击/刷新页面。只有杀死进程才有帮助。

【问题讨论】:

  • 因为第一个元素[0]从来没有glawk?
  • 是的,但工作流程如下:如果不无聊 = 单击按钮。点击页面刷新并出现新元素后。它适用于 IF,但是当页面不刷新时,因此永远不会感到无聊。

标签: javascript jquery google-chrome console


【解决方案1】:

你需要迭代,否则循环没用:

var words=document.getElementsByClassName("word");
for(var i=0; i<words.length;i++){
 if(words[i].textContent.toLowerCase() === "blast") {
   $("#button-0").click();
   break;
 }
}

或者如果你喜欢混淆代码:

!Array.from(document.getElementsByClassName("word")).some(el=>el.textConent.toLowerCase()==="blast")|| $(" #button-0").click();

PS:

如果您将 javascript: 放在它之前,您可以将脚本添加为书签。看看书签...

【讨论】:

  • 刚试过,和IF一样,因为每次刷新后都需要手动运行
  • @fleshgakker 你可以写一个 chrome 插件:/
  • @fleshgakker 在文档就绪事件中执行 IF 函数
  • 在控制台中你也可以这样做
  • @koushik chatterjee 因为刷新后需要手动运行,你认为监听器会在刷新后存活吗? ://
猜你喜欢
  • 2011-10-26
  • 2013-04-16
  • 1970-01-01
  • 2012-09-29
  • 2016-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-01
相关资源
最近更新 更多