无法访问Heroku中的剪贴板(Selenium webscraper python)

2024-06-16 10:27:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我在heroku中部署了一个非常基本的webscraper,定期按下按钮,然后将链接复制到浏览器剪贴板,然后使用以下命令将其存储在变量中:

text = pyclip.paste()

这在运行windows 10的本地计算机上运行良好,但是当我将其部署到heroku时,会出现以下错误:

2021-08-17T12:57:38.512015+00:00 app[worker.1]: text = pyclip.paste()
2021-08-17T12:57:38.512026+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pyclip/__init__.py", line 
41, in paste
2021-08-17T12:57:38.512144+00:00 app[worker.1]: raise ClipboardSetupException("Could not setup clipboard").with_traceback(_CLIPBOARD_EXCEPTION_TB)
2021-08-17T12:57:38.512154+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pyclip/__init__.py", line 
19, in <module>
2021-08-17T12:57:38.512316+00:00 app[worker.1]: DEFAULT_CLIPBOARD = detect_clipboard()
2021-08-17T12:57:38.512339+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pyclip/util.py", line 30, 
in detect_clipboard
2021-08-17T12:57:38.512437+00:00 app[worker.1]: return XclipClipboard()
2021-08-17T12:57:38.512447+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pyclip/xclip_clip.py", line 29, in __init__
2021-08-17T12:57:38.512561+00:00 app[worker.1]: raise ClipboardSetupException(
2021-08-17T12:57:38.512595+00:00 app[worker.1]: pyclip.base.ClipboardSetupException: Could not setup clipboard
2021-08-17T12:57:38.656967+00:00 heroku[worker.1]: Process exited with status 1
2021-08-17T12:57:38.755984+00:00 heroku[worker.1]: State changed from up to crashed

我猜dyno并没有一个真正的剪贴板,webdriver可以将链接发送到剪贴板,pyclip可以从剪贴板中检索链接

是否有人知道解决方法,或者在部署刮板时如何设置和访问剪贴板

编辑1 我还安装了heroku社区/aptbuildpack,然后在Aptfile中包含了copyq,试图在构建应用程序时设置剪贴板,但没有效果。有人认为Docker是个好主意吗


Tags: inpyappheroku链接libpackages部署
1条回答
网友
1楼 · 发布于 2024-06-16 10:27:37

好的,作为一种解决方法,如果您使用的是Selenium并且有web元素,那么您可以通过ctrl + v

pyperclip.copy("some text")
time.sleep(2)
driver.find_element_by_xpath('some xpath').send_keys(Keys.CONTROL + "v")

相关问题 更多 >