ahk操作网页,判断页面dom元素是否加载-异常处理(浏览器自动化)

ahk操作网页,判断页面dom元素是否加载(浏览器自动化)

学习了论坛里各位大佬写的ahk操作网页代码,实操时发现存在一些问题。

问题描述:请求网页时可以根据document.readyState状态是否为complete来判断网页元素是否加载成功。但是如果点击页面的按钮(这个过程中存在接口调用等逻辑),然后页面发生了变化,后续想要点击新出现的按钮时,无法判断新的按钮元素是什么时候加载出来的。

我是个小白,想了半天想到了一个笨方法,在此分享给大家。

解决方案:通过异常处理来过滤掉异常信息,循环执行,直到执行完毕。具体代码如下:

loop{
  try{
    ; 尝试执行的代码.
    PageInst.Evaluate("document.getElementsByClassName('这里填写按钮的class值')[0].click();")
    break
  }
  catch e {
  } ; 处理由上面区块产生的首个错误/异常.
}

运行逻辑:如果页面没有出现这个按钮,那么PageInst.Evaluate(“document.getElementsByClassName(‘bar-user-info-row bar-mission-action’)[0].click();”)这一句就会报错,通过异常处理过滤掉当前异常,继续执行下一次循环,知道页面出现这个按钮,点击的代码正常执行,后续的break也将正常执行结束循环,从而实现了按钮出现然后点击的操作。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA捐赠
共{{data.count}}人
人已捐赠
案例

ahk简易辅助挂机冒险岛脚本

2023-10-30 9:51:35

案例

转向灯脚本,动了其他的游戏机按键就退出执行,只动3个按键的一个是正常执行下去的,有大佬知道原因吗?

2023-10-30 9:53:06

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索