繁体   English   中英

WebdriverIO waitForExist()选择元素的选定选项

[英]WebdriverIO waitForExist() select element's selected option

我的最初研究使我找到了允许我在Chrome Inspector中返回正确元素的jQuery选择器,但是即使jQuery可以,Webdriver也无法或无法识别该选择器。

此代码段就是我的select元素的样子。

<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,即使检查器中的jQuery仍然可以看到,Webdriver将不再能够看到选择器的存在。

如何使Webdriver识别我知道在DOM中存在并且可以使用jQuery选择的元素? 在这一点上,我被封锁了,因为即使我可以在jQuery中清楚地获得它,也无法使Webdriver完全识别所选的选项。

如何验证Webdriver中的选定选项? waitForExist()不起作用,并且isSelected()的api似乎不适合这种用法,或者我不理解。

如果您不打算使用JQuery,可以尝试

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM