如何在webdriverio中单击cssSelector

时间:2017-02-07 19:37:06

标签: node.js selenium xpath webdriver-io

我在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。

当我运行测试时,它不会点击此元素。

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

3 个答案:

答案 0 :(得分:1)

我会做的是这样的: // * [@类= “listViewPickerOption”]

如果我正确理解了这个问题,那就应该这样做。当您在DOM上搜索时,可以在chrome的开发人员工具中测试xpath。

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

<强>解决方案

这是最终在100%的时间内完成的工作:

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

每次都会点击此元素。