我正在为网络应用编写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
答案 0 :(得分:1)
作为docs州:
对于查询具有特定名称属性的元素,您可以通过传递类似[name =&#34; some-name&#34;]作为选择器参数的内容来使用普通的CSS3选择器或JsonWireProtocol中提供的名称策略
您的代码无效的原因是getText
将选择器与节点的文本内容相匹配。
相反,您可以尝试:
browser.element('[data-param1="value1"]');
或将选择器直接传递给动作:
browser.click('[data-param1="value1"]');