在 pyvirtualdisplay 中使用剪贴板

Using clipboard with pyvirtualdisplay

我在 pyvirtualdisplay 中有一个 运行 脚本,我需要将一个变量的值复制到我的剪贴板。

以下有效(我的脚本的简化版本):

from selenium import webdriver
import clipboard

driver = webdriver.Chrome("/home/name/chromedriver")
driver.get("http://pagewithvariable.com")
variable = find_element_by_name("variable")

clipboard.copy(variable)

以下不起作用

from selenium import webdriver
import clipboard
from pyvirtualdisplay import Display

display = Display(visible=0, size=(800, 600))
display.start()

driver = webdriver.Chrome("/home/name/chromedriver")
driver.get("http://pagewithvariable.com")
variable = find_element_by_name("variable")

clipboard.copy(variable)

我在 pyvirtualdisplay 中尝试 运行 剪贴板时遇到的错误如下:

XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":1195"
  after 11 requests (8 known processed) with 0 events remaining.

请帮忙:)

好的,事实证明 pyvirtualdisplay 的剪贴板是完全独立的,并且没有迹象表明可以在虚拟显示中使用您的 OS。

由于剪贴板在大多数情况下会在脚本退出时使用,因此它在显示关闭时起作用。我以前是用下面的方法做的,但是不行:

display.popen.terminate()

当显示关闭时,剪贴板在该点之后声明,工作正常:

display.stop()

我的问题是关于该主题 Google 的唯一问题,所以我认为其他人可能会觉得它有用。