【问题标题】:How to trigger Paste operation in Selenium tests如何在 Selenium 测试中触发粘贴操作
【发布时间】:2017-07-31 13:59:04
【问题描述】:

我尝试在 /keys 中传递 Ctrl + V,但该 API 在最新版本的 Selenium (v3.4.0) 中已弃用

Webdrivers 早先遵循 JSONWire 协议。因此,要在焦点元素 WebdriverIO 模块上发送密钥,请使用以下路线。 /session/:sessionId/keys https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidkeys

较新版本的 webdriver 遵循新的 W3C 标准: https://www.w3.org/TR/webdriver/

它有/session/{session id}/element/{element id}/value https://www.w3.org/TR/webdriver/#element-send-keys

但它的效率并不高。组合键的工作方式不同。

【问题讨论】:

  • 能否请您更具体地说明,究竟哪个 API 已被弃用?
  • 它适用于 ChromeDriver,但适用于 GeckoDriver 和 SafariDriver。

标签: selenium-webdriver paste geckodriver safaridriver


【解决方案1】:

这应该可行:

driver.findElement(By.id("id")).sendKeys(Keys.chord(Keys.CONTROL,"v"));

我认为没有弃用。

【讨论】:

    【解决方案2】:

    尝试使用模拟键盘键和字符串选择的 JAVA Robot 对象来保存要粘贴到剪贴板的文本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-03
      • 1970-01-01
      • 2011-07-30
      • 1970-01-01
      • 2011-04-13
      • 2020-07-22
      • 1970-01-01
      • 2018-10-10
      相关资源
      最近更新 更多