嘿!距离上次提交已经有一段时间了。
最近,我一直在解决与循环内丢失元素引用相关的问题,我终于找到了一个解决方案,我想与大家分享。
这是初始代码的简化版本:
const someElements = await page.$$("xpath/ .//foo[@name='hoge']"); for (let i=0; i我遇到了什么错误
forst 循环迭代后,脚本无法找到按钮元素。我不断收到以下错误:
处找到具有指定 id 的上下文
ProtocolError:协议错误 (DOM.describeNode):无法在我是怎么解决的
我通过在循环内重新声明按钮元素列表解决了这个问题。
修改后的代码如下:
const someElements1 = await page.$$("xpath/ .//foo[@name='hoge']"); for (let i=0; i我添加了重新声明行,因为我假设原始的 someElements 引用在离开初始页面时丢失了。经过此更改后,错误得到解决。但是,我不确定这种方法是否严格遵守最佳编码实践。
如果在页面之间导航时遇到循环中的 .click() 问题,请考虑在循环本身内重新声明该元素。这个简单的更改可能会为您节省大量故障排除时间!
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3