事不宜迟,我将切入正题:
我有一些iterated-item
作为 CSS 类的锚标签。我想要的只是遍历它们,单击它们并测试浏览器的重定向 url。
我试过使用elements
,但我得到了陈旧的错误:
Error while running .clickElement() protocol action: stale element reference: element is not attached to the page document
这实际上是有道理的。但是,我找不到任何方法来动态获取循环项目,遍历它们,单击第一个,检查 url,返回,单击第二个,检查 url,返回等等。
这是我的一小段守夜代码:
browser.url(browser.launchUrl)
browser.waitForElementVisible('#my-whatever-container')
browser
.elements('css selector', '.iterated-item', function (links) {
links.value.forEach((link) => {
browser.pause(1000)
browser.elementIdClick(link.ELEMENT)
browser.waitForElementVisible('#my-whatever-element')
browser
.expect.url().to.contain('something-in-the-url')
browser
.back()
})
})
browser.end()
这适用于第一次迭代,但是当它返回时,我得到了stale
错误,一切都变得很糟糕。