【发布时间】:2021-04-19 18:34:08
【问题描述】:
我正在编写一个脚本,该脚本会转到亚马逊 URL 并单击“立即购买”按钮。而已。我必须使用 WebdriverIO、javascript 和 ChromeDriver。问题是无论我使用哪个选择器,我都无法点击这个按钮。我可以手动完成它。但是在下面的代码检查中,div/id/name、span/id/close 或 input/id/name 的每个组合都导致没有点击。我知道脚本可以看到该 Web 对象,因为当我对控制台执行 BuyNow.getText() 时,它会打印出“立即购买”。而且我知道我使用的 xpath 很好,因为我将它粘贴到 Inspect/Find 中,并且确切的元素会亮起黄色。哦,.click(),即使 Visual Studio Code 标记为已弃用,在以前的脚本中也能正常工作。
当我手动点击一个按钮时,有没有办法查看收到此点击的确切元素是什么?
let BuyNow = $(<XPATH>)
BuyNow.click()
【问题讨论】:
-
嗨。欢迎来到 SO。根据您提供的信息,这将是一个包含 21 个问题的漫长游戏。请您看一下tour,并提供minimal reproducible example,以便我们为您提供帮助。
-
我不明白这会是一个 21 个问题的漫长游戏。查看 Code Inspect 图片,这是与 Amazon Buy Now 按钮相关的一小段代码。每个产品都是一样的。为什么即使我对每一行都做了正确的 XPATH,并将其放在声明按钮代码中,WebdriverIO 却永远无法单击它?最后,是否有一种简单的方法可以确定哪一行代码负责单击按钮?
标签: selenium-webdriver selenium-chromedriver