chrome浏览器console运行JS代码获取元素无效??

create_code 2018-07-20 12:25:55
最近再看一个网页上看视频教程,这个网站播放规则是每过10分钟就会出一个框,点击一个按钮后就会继续播放,查看这个对话框就是DIV,里面有一些文字 ,按钮之类的东西。我做了一个JS脚本,用了一个循环定时器,每2秒去查找这个对话框按钮,如果找到就自动点击。但是当10分钟到了,对话框弹出了,这个一直循环的脚本始终查找不到这个出现的元素。此时如果直接再向console中输入一条查找这个元素的代码,就可以查找到了,请教大家这个,是什么情况。代码如下
function page_code()
{
var sleep1=document.getElementsByClassName("aui_title"); //获休息一下对象
if(sleep1[0].length>0) //找到
{
//window.alert("休息了!");
if(sleep1[0].innerText=="休息一下") //找到休息一下
{
//window.alert("休息一下找到了!");
var slelectitem=document.getElementsByName("option"); //获取4个选择项
for(var i=0;i<slelectitem.length;i++){
window.alert(slelectitem[i].innerText);
slelectitem[i].click(); //点击第i个选项
var tijiao=document.getElementsByClassName("submit"); //获取提交按钮
tijiao[0].click(); //点击提交按钮
var nextstudy=document.getElementsByClassName("continue"); //获取继续学习按钮
if(nextstudy.length>0) //获取继续学习按钮成功
{
nextstudy[0].click(); //点击继续学习按钮
break; //跳出循环
}
}
}
else if(sleep1[0].innerText=="提示:课时已学完") //已学完
{
closeNetRoom(); //调用关闭函数
}else{}
}
//window.alert("hello");
}
var t2 = window.setInterval("page_code()",2000);

上面代码,在console运行后,当页面出现休息一下时,完全查找不到
但是如果此时再console直接再执行var sleep1=document.getElementsByClassName("aui_title"); //获休息一下对象
就能找到,请教这个是什么情况,该怎么解决 昨天才开始学JS
...全文
766 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
create_code 2018-07-23
  • 打赏
  • 举报
回复
这其实没什么难度,在这提问12小时后就搞定了。有人点拔一下会更快而已
create_code 2018-07-20
  • 打赏
  • 举报
回复
楼上说的对,这个地方刚复制过来的时候改了一下,改错了。
天际的海浪 2018-07-20
  • 打赏
  • 举报
回复
if(sleep1[0].length>0)中的[0]去掉
丰云 2018-07-20
  • 打赏
  • 举报
回复
循序渐进,不要试图用四则运算法则来解答微分方程,那不现实

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧