0

我正在尝试将 webdriver.io ( https://webdriver.io/ ) 与 spectron 一起用于电子应用程序。

我能够访问 findElement 或 $ 包含的函数。例如,我可以在这个 findElement ($) 选择器上使用 .click()。

app.client.$('//button[@data-value, "Agree")]').click()

我的应用程序包含 4 个按钮,它们的数据值属性为同意。这个 $ 选择器只会点击第一个。我的目标是遍历所有“同意”按钮并单击所有按钮。

我正在尝试这样做:

app.client.$$('//button[@data-value, "Agree")]').forEach(button => button.click())

但是,这就是说 forEach 函数不存在,就像 app.client.$$ 不返回数组一样,这与本文档所说的相反:https://webdriver.io/docs/api/browser/$$。 html

如果我尝试解决 $$ 返回的承诺,请执行以下操作:

app.client.$$('//button[@data-value, "Agree")]').then(buttons => console.log(buttons))

我得到了 4 个按钮的数组,但只出现了 ELEMENT 标识符、索引和元素对象 ID。它们不包括扩展原型以在它们上运行诸如 .click() 之类的命令。我也找不到使用 webdriver 查询特定 ELEMENT ID 的任何方法。

4

1 回答 1

0

请从 v4 升级到 v5 或理想情况下升级到 v6。

干杯!

于 2020-09-21T07:55:49.823 回答