我正在为 Web 应用程序编写 Jasmine 测试,我有一个像这样的 div 元素:
<div data-param1="value1">
<div>
.....
</div>
</div>
我正在使用 WebdriverIO 和 selenium 通过 WDIO Testrunner 运行我的测试。 我想根据 data-param1 属性的值来选择 div 元素。
到目前为止我尝试过的是:
browser.getText('div[data-param1*="value1"]');
browser.getText('div[data-param1="value1"]');
browser.getText('[data-param1*="value1"]');
browser.getText('[data-param1="value1"]');
但我没有成功......在Webdriver-IO selector docs我没有找到任何带有属性的选择器示例。
谁能告诉我是否可以通过 WebdriverIO 的属性值来选择元素?
如果有人设法进行了这样的选择,我将不胜感激,如果他/她可以分享一个例子。
TIA
最佳答案
作为docs状态:
For querying elements with a specific name attribute you can eather use a normal CSS3 selector or the provided name strategy from the JsonWireProtocol by passing something like [name="some-name"] as selector parameter
您的代码不起作用的原因是 getText
将选择器与节点的文本内容相匹配。
相反,您可以尝试:
browser.element('[data-param1="value1"]');
或者将选择器直接传递给操作:
browser.click('[data-param1="value1"]');
关于javascript - 是否可以使用 webdriverio 按属性值选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37531379/