我正在编写一个脚本,该脚本指向亚马逊的URL并单击"立即购买"按钮。就是这样。我必须使用WebdriverIO、javascript和ChromeDriver。问题是,无论我使用哪个选择器,我都无法点击这个按钮。我可以手动做得很好。但是在下面的代码检查中,div/id/name、span/id/close或input/id/name的每一个组合都没有导致点击。我知道脚本可以看到那个web对象,因为当我对控制台执行BuyNow.getText((时,它会打印出"BuyNow"。我知道我使用的xpath很好,因为我将它粘贴到Inspect/Find中,并且确切的元素显示为黄色。哦,click((在以前的脚本中运行得很好,尽管Visual Studio Code标记为不推荐使用。
当我手动点击一个按钮时,有没有办法看到收到点击的确切元素是什么?
let BuyNow = $(<XPATH>)
BuyNow.click()
代码检查
好的,所以我发现了问题所在。它与我的XPATH选择器无关,任何一个对Code Inspect图片中的元素都有效(例如:let BuyNow=*[id='buy-now-button'](。问题是在WDIO配置文件中,我使用了一个自定义的Chrome配置文件。这很好,我使用的Chrome.exe指向另一个自定义的Chrome配置文件。我以为这两个是一样的,但文件夹的路径变得一团糟。一旦我解决了它们,并且Chrome.Exe和WDIO配置都指向同一个客户文件夹,Chrome就开始允许我选择按钮。我认为WDIO代码查看的是chrome的一个用户配置文件,而我使用的桌面chrome浏览器是另一个用户概要文件。
已解决。有趣的东西,但不是真的。