Selenium Python - 无头Chrome无法复制到剪贴板

3

我正在编写一个脚本来运行Python Selenium并将一些内容复制到剪贴板中。

它一直很好用,直到我在无头模式下运行它。现在它不能将文本复制到剪贴板。

有人知道如何解决这个问题吗?

这是我的配置:

options = webdriver.ChromeOptions()
options.add_experimental_option("prefs", {
        "download.default_directory": indir,
        "download.prompt_for_download": False,
        "download.directory_upgrade": True,
        "safebrowsing.enabled": True})

options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = webdriver.Chrome(chrome_options=options)

我看到了一些关于设置权限的内容,但是我无法将此放入我的代码中,我收到了一个SyntaxError: invalid syntax


有没有试过编写代码来“复制一些内容到剪贴板”? - undetected Selenium
1个回答

2

回答自己的问题,因为未来一些人可能会遇到同样的问题......

根据我的搜索结果,我认为这是Windows的一个bug,因为我看到有人说在MAC OS无头模式下,从剪贴板复制/粘贴正常工作。

我尝试使用find_by_...('thing here').text,但在我的情况下,这并不起作用,这就是为什么我要将其复制到剪贴板的原因。

无论如何,如果这实际上是Windows的一个bug,我会尝试其他浏览器(我需要使用Chrome,因为我正在为公司开发工具,这里的每个人都使用Chrome)。

我没有找到解决方案,我只是删掉了代码的一部分,因为将内容复制到剪贴板只对少数人有用(所以这些人将在无头模式下运行)。


1
你解决了吗?在Ubuntu 16.04,无头Chrome中id_element.send_keys(Keys.CONTROL, 'v')无法工作 : ( - user3595632
嘿,抱歉回复晚了。我解决了这个问题,方法是在使用剪贴板时不使用无头模式。据我所知,如果要使用剪贴板,实际上需要将文本显示在屏幕上,否则什么也不会被复制。 - Cleyson Shingu
1
我在使用Ubuntu时遇到了同样的问题。我猜这不是Windows的错误,因为它也会在Ubuntu上发生! - basilisk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接