Skip to content

网页自动化常见问题

网页自动化常见问题

1. 支持哪些浏览器?

  • Chrome/Edge(推荐)
  • Firefox
  • IE(不推荐)
  • 360 安全浏览器/ 360 极速浏览器 X

2. 浏览器驱动问题?

  • 下载 Chrome/ Edge 安装,推荐直接安装,避免自定义安装目录导致浏览器启动失败,若存在失败情况,请尝试重新安装该浏览器
  • 手动指定软件路径,也可手动指定浏览器安装路径(不推荐)
  • 检查浏览器版本,请检查浏览器版本,过于老旧的浏览器,浏览器插件无法正常使用,推荐 Chrome 108 版本以上,最低不要低于 Chrome 88, Firefox 不要低于 58 版本

3. 页面加载慢?

  • 增加等待时间
  • 使用超时后终止加载

4. 网页弹窗如何处理?

4.1 alert 弹窗

可以在浏览器控制台以下代码覆盖原生 alert()方法, confirm() 同理

// 先执行覆盖,运行了受阻的代码
var alert_backup = alert
window.alert = function (){}
// 运行了受阻的代码后再执行恢复
window.alert = alert_backup

4.2 dom 弹窗

例如 https://element.eleme.cn/#/zh-CN/component/dialog 弹窗,以及其他 UI 库的弹窗组件 他的 xpath 是 //div[@id="app"]/div[2]/div/div[1]/div/div/div[2]/section/div[1]/div[1]/div/div/div/div[3]/span/button[2] 由于很多弹窗是插入的 dom 节点,可能在不同场景下节点的索引值会变化,导致无法找到对应的元素,可以使用一些特征来定位元素

  • 例如使用 class 通配, 取消节点的 index 勾选,改用 class 勾选 弹窗元素编辑
  • 对于一些仅一个弹窗的情况,也可以使用相对 xpath 加元素文本的定位方式, 例如确定按钮 //*[normalize-space(text())='确 定'](xpath 的使用可见XPath 定位教程弹窗元素xpath
  • 使用 cssSelector, 先删除 xpath,xpath 查找的优先级高于 cssSelector, 去掉 xpath 提高查找性能,cssSelector 也可缩短定位路径,父子关系可以使用 > ,祖先后代关系可以使用 空格来表示,如下: 元素自定义css selector
  • 使用 xpath @属性来定位元素,例如弹窗的关闭按钮, xpath: //button[@aria-label="Close"]xpath属性定位xpath属性定位

例如https://www.antdv.com/components/modal-cn 弹窗,他的弹窗会插入到body下,并且不会移除

  • 取消索引index匹配,例如ant-design 的弹窗确定按钮 xpath 变动示例xpath 变动修改示例

5. 日期选择类元素如何处理

  • 部分日期选择框可以直接输入日期,这种可以使用模拟人工输入,再接一个模拟按键Enter 按键即可实现日期选择
  • 若出现无法输入的情况,也可以使用去掉索引的方式 日期日期变动修改示例
  • 也可以打开网页检查该元素,查看该元素以及祖先元素上是否有唯一特征,例如该元素有title=2025-11-13, 使用自定义xpath 来实现 日期日期变动修改示例

6. 网页动态元素处理

针对动态元素处理,需要结合元素动态规则,网页动态元素不仅仅包含网页弹窗,还有懒加载元素,显示切换类元素,日期选择类元素,都存在动态变化的可能,这里提供几种处理方法:

  • 结合浏览器控制台,找到元素以及元素的祖先元素,找出较为稳定的路径,例如id, class, data-id, title, 文本等属性来组成 xpath
  • 结合 cv 图像识别,例如点击按钮可以使用点击图像来实现
  • 对于一些需要鼠标悬浮才会出现的元素,需要先使用鼠标悬停在元素上(web) 指令来预处理

7. 网页截图模糊?

  • 调整屏幕缩放比例
  • 最大化浏览器窗口

8. 如何处理动态加载内容?

  • 滚动到底部,配合使用网页滚动/鼠标滚动的能力
  • 等待元素出现
  • 使用元素的滚动加载(仅支持窗口级别的滚动) 元素滚动加载

调试技巧

  • 使用开发者工具
  • 单步执行
  • 查看页面源码

需要更多帮助?

如果您的问题未在此找到答案,请联系技术支持或查看官方文档获取更多帮助。