是否可以使用 webdriverio 按属性值 select 元素

Is it possible to select element by attribute value with webdriverio

我正在为 Web 应用编写 Jasmine 测试,我有一个 div 元素,如下所示:

<div data-param1="value1">
    <div>
        .....
    </div>
</div>

我正在使用 WebdriverIO 和 selenium 运行 我使用 WDIO Test运行ner 进行的测试。 我想 select div 元素基于 data-param1 属性的值。

到目前为止我尝试过的是:

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 我没有找到 select 或具有属性的任何示例。

有人可以告诉我是否可以通过 WebdriverIO 的属性值 select 一个元素?

如果有人设法做到了这样的 selection,he/she 可以分享一个例子,我将不胜感激。

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"]');