如何在 WebdriverIO 中点击 CTRL+M (Control + M)

How to click on CTRL+M (Control + M) in WebdriverIO

我必须在 WebdriverIO 中发出 CTRL+M 操作,但它不起作用。

我尝试过使用不同的方式,例如:

以上

None 有效。谁能帮帮我?

简答,。您目前 无法将键命令与任何驱动程序配置链接起来。 .keys() 实际上仍然适用于 chromedriver(仅发送文本,无链接),但它已被标记为弃用。有关详细信息,请参阅下面的列表。

Dependencies:

"selenium-standalone": "^5.11.2",
"wdio-selenium-standalone-service": "0.0.8",
"webdriverio": "4.8.0"

Driver versions affected:

ChromeDriver: 2.29-x64-chromedriver
GeckoDriver:  0.16.0-x64-geckodriverIEDriver:
3.4.0-x64-IEDriverServer

.keys() 命令有什么问题?

  • 这是整个 Selenium 社区的一个已知问题,在驱动程序(chromedrivergeckodriver 等)实现 Webdriver 的新 W3C 标准之前,不会 fixed/tackled 在 WebdriverIO 中对于用户输入,Actions API
  • 没有其他方法可以做到这一点(相信我,我试过了!),除非您实际上可以通过代码替换 CTRL + M 操作的功能;
  • 这里有一个 BUG 记录了 GeckoDriver (Firefox) 的这个问题;
  • 即使 .keys() 方法适用于您当前的版本,Christian-Bromann 确认它将在下一个版本中 弃用 (它也被标记为弃用在 /lib/protocol/keys.js 定义文件中)。

注意: 对于使用不同 WDIO 命令有类似问题的任何人,.keys()(WDIO)、.sendKeys()(WebdriverJS) 的弃用也适用于其他损坏的 WebdriverIO 方法,如 .moveTo()。阅读更多相关信息 here