【发布时间】:2021-04-21 04:24:07
【问题描述】:
所以我在 WebdriverIO(Visual Studio Code、node.js、javascript 等)中遇到了一个令人沮丧的错误。我有一个脚本,它从一个网站开始,通过一系列 IF/THEN,单击一个按钮将其引导到一个新网站。这工作得很好。但是当我在新网站上时,我的代码都不起作用,因为我的选择器都找不到元素。
但问题是:当我创建另一个直接进入此页面的脚本时,完全相同的代码可以工作。所有元素都可以被找到、与之交互、getText/clicked 一切。
为什么完全相同的代码只在直接打开页面时有效,而不是在从前一页的按钮单击打开时有效。
console.log('INTERMEDIARY PAGE')
browser.pause(2000)
let Title = $("(//h1[contains(@class,'cs-entry__title')])")
console.log(Title)
let ProductButton = $("(//*[contains(@class,'button')])[1]")
ProductButton.click()
“错误:无法使用选择器“(//*[contains(@class,'button')])[1]”调用单击元素,因为找不到元素”
更新: 在新页面上,我做了一个 console.log(browser.getUrl()),它显示了 URL 1 的 URL。我在 URL 2 上!我眼前看到的不是爬虫看到的。这是一种机器人保护形式吗?
【问题讨论】:
标签: webdriver-io