【小技巧】Edge浏览器捕获元素报错Frame with ID 0 is not ready如何解决?
评论
收藏

【小技巧】Edge浏览器捕获元素报错Frame with ID 0 is not ready如何解决?

经验分享
阿蓝
2024-01-20 15:57·浏览量:1448
阿蓝
发布于 2024-01-19 11:05更新于 2024-01-20 15:571448浏览

客户反馈在使用 Edge 浏览器打开兼容模式下的IE网页时,会出现网页元素抓取的时候报错 Frame with ID 0 is not ready

经过远程验证问题,确实是这种情况:在使用标准模式捕获时,在捕获过程中可以识别到网页上存在的元素,但捕获元素后再检验元素,就失效报错了。

于是尝试使用深度捕获的方式(虽然是针对windows软件元素设计的捕获模式),结果是能定位到元素,但仍然无法实现捕获和校验,遂放弃。


再尝试【CV智能模式捕获】,一开始尝试捕获“店铺”右侧的下拉框,通过捕获确实能校验到元素,而实际运行指令时,会发现先后运行时会在两个下拉框之间循环点击,推测应该是两个下拉框的默认权限都为“全部”,导致元素定位模糊。


于是尝试定位下拉框之前的查询条件名称,这次定位到“店铺”,再通过点击元素指令下的高级设置,将“目标元素的部位”切换到“自定义”,并增加横向平移元素,这样可以实现准确点击到需要的下拉框。后续则可以结合键盘的操作去选择到下拉列表下的选项。



最后提供飞飞助手对该情况提出的解决方式建议,后续有遇到类似问题的同学,也可以遵循以下技巧来排查和解决问题:

当我们在使用 Edge 浏览器进行页面元素捕获时,可能会遇到 "Frame with ID 0 is not ready" 的报错提示。这个问题通常是由于页面尚未完全加载或者框架尚未准备好导致的。以下是一些解决该问题的小技巧:

1)确认页面已完全加载:在进行元素捕获之前,请确保页面已经完全加载完成。可以通过观察页面的加载进度条或者等待页面上的所有元素都加载出来后再进行捕获。

2)等待框架准备就绪:如果页面中存在 iframe 框架,有时框架内的元素可能需要一些时间才能准备就绪。在这种情况下,可以使用 Edge 浏览器提供的 "WaitForFrameReady" 命令来等待框架准备就绪。具体操作可以参考 Edge 浏览器的开发者文档。

3)使用 "Timeout" 参数:如果元素捕获仍然无法成功,可以尝试设置一个超时参数。将 "Timeout" 属性设置为适当的时间(例如 5000 毫秒),以便在等待一段时间后自动放弃捕获并返回错误信息。

4)检查元素是否可见:在进行元素捕获时,请确保要捕获的元素是可见的。有时候,元素可能因为某些原因被隐藏或者不可见,这将导致捕获失败。可以通过检查元素的 CSS 属性或者使用 JavaScript 代码来确保元素是可见的。
收藏
全部评论1
最新
发布评论
评论