【问题标题】:WebdriverIO waitForExist() select element's selected optionWebdriverIO waitForExist() 选择元素的选择选项
【发布时间】:2016-05-16 20:21:30
【问题描述】:

我最初的研究使我找到了 jQuery 选择器,它可以让我在 Chrome Inspector 中返回正确的元素,但是 Webdriver 不能或无法识别这个选择器,即使 jQuery 可以。

这个 sn-p 就是我的选择元素的样子。

<select id="ember2932" tabindex="0" class="reasons-drop-down ember-view x-select">
    <option id="ember2933" class="ember-view x-option">Select a Reason</option>
    <option id="ember2935" value="DOCUMENT_LOST" class="ember-view x-option">Document Lost</option>
    <option id="ember2937" value="DATA_ISSUE_CORRECTION" class="ember-view x-option">Data Issue/Correction</option>
</select>

我使用的 jQuery 选择器是:

$("select.reasons-drop-down option:selected:contains('Document Lost')")

这在 Chrome Inspector 中有效,并在选择“文档丢失”选项时返回:

[<option id=​"ember2935" value=​"DOCUMENT_LOST" class=​"ember-view x-option">​Document Lost​</option>​]

因为找不到元素而未被选中时返回一个空数组。

当我在 Webdriver 中逐步启动选择器时,它会一直产生有意义的返回

$("select.reasons-drop-down option")

添加 :selected 后,Webdriver 不再能够看到选择器的存在,即使检查器中的 jQuery 仍然可以。

如何让 Webdriver 识别我知道存在于 DOM 中并且可以使用 jQuery 选择的元素?在这一点上,我被阻止了,因为我根本无法让 Webdriver 识别所选选项,即使我可以在 jQuery 中清楚地得到它。

如何验证 Webdriver 中的选定选项? waitForExist() 不起作用,isSelected() 的 api 似乎不适合这种用途,或者我不明白。

【问题讨论】:

    标签: javascript jquery webdriver-io


    【解决方案1】:

    如果你不拘泥于使用JQuery,你可以试试

      client.selectByValue('#ember2932', 'DOCUMENT_LOST')
    

    http://webdriver.io/api/action/selectByValue.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      • 1970-01-01
      • 2017-04-05
      • 2021-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多