如何在webdriverio中点击cssSelector

How to click cssSelector in webdriverio

我在 Lightening SalesForce 应用程序中有一个页面需要单击。 我试过复制它的 xpath,但是 webdriver IO 找不到这个元素,也无法与之交互。

这是HTML:

<span class=" listViewPickerOption" data-aura-rendered-by="1124:0">All Accounts</span>

我已经在我的 webdriverIO 代码中尝试过:

.click('//*[@id="800:0_listviewpicker_0"]/span[3]')

(//*[@id="800:0_listviewpicker_0"]/span[3] 是元素的 xpath。

当我运行测试时,它没有点击这个元素。

点击该元素的正确方法是什么?

我会做的是这样的: //*[@class="listViewPickerOption"]

如果我对问题的理解正确,那应该可以。当您在 DOM.

上搜索时,您可以在 chrome 的开发者工具中测试 xpath

有时,HTML 元素嵌套在 <frame><iframe> 元素下。 Webdriver 不会自动读取这些框架内部的内容,因此您必须切换到框架,以便 webdriver 能够读取内部 HTML.

driver.switchTo().frame("whatever the frame name is");

解决方案

这就是最终 100% 有效的方法:

.click('//span[text()="All Accounts"]')

它每次都点击这个元素,没有失败。