【问题标题】:Selenium Action Chains not letting me paste in ChromeSelenium Action Chains 不允许我粘贴到 Chrome
【发布时间】:2019-09-28 04:54:13
【问题描述】:

我在 Python 上使用 Selenium。而且我的剪贴板上已经有一些数据,但是当我使用动作链粘贴数据时:

paste = ActionChains(driver)
paste.send_keys(Keys.CONTROL+'v')
paste.perform()

它只是输入小写的 v。我如何让它仍然使用动作链但让它粘贴?

【问题讨论】:

  • 你能试试普通的send_keys,而不是使用ActionChains吗?

标签: python python-3.x selenium selenium-chromedriver


【解决方案1】:

根据这个线程here,我认为您可以使用常规的send_keys 命令来粘贴内容,就像您在复制时所做的那样。我认为不需要ActionChains

elementToPasteTextInto.send_keys(Keys.CONTROL+"v")

或者,您可以改为使用 Javascript 向元素发送文本:

webdriver.executeScript("document.getElementById('elementID').setAttribute('value', 'new value for element')");

【讨论】:

  • 问题是我需要将动作链粘贴到页面中。如果我不指定动作链,那么我需要指定要粘贴到的元素,但我试图粘贴到的元素总是说不可交互。但是如果我只是按 ctrl v 而不单击页面上的任何位置,那么它会粘贴我想要的内容。所以我只想要一些代码,可以让我粘贴到页面中而无需指定 html 元素。
  • 也许这就是ActionChains 无法正常工作的原因,因为ElementNotInteractable 状态。即使您的代码没有遇到 AC 异常,它仍然可能是问题所在。您可以尝试使用 JavaScript 将键发送到元素,而不是使用 ActionChains。我用一个例子更新了我的帖子
猜你喜欢
  • 2014-10-09
  • 1970-01-01
  • 2018-02-20
  • 1970-01-01
  • 2020-07-01
  • 1970-01-01
  • 2017-07-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多