【问题标题】:How to click cssSelector in webdriverio如何在 webdriverio 中单击 cssSelector
【发布时间】:2017-02-07 19:37:05
【问题描述】:

我需要单击 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。

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

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

【问题讨论】:

    标签: node.js selenium xpath webdriver-io


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 它不在框架中 -- 它是一个 SalesForce 应用程序,而不是直接的 HTML
      【解决方案3】:

      解决方案

      这就是最终 100% 的工作时间:

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

      每次都会点击这个元素,不会失败。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-11
        • 1970-01-01
        • 2021-11-01
        • 1970-01-01
        • 2021-07-13
        相关资源
        最近更新 更多