[英]How to Copy image to clipboard from the browser native menu using Selenium and Python
我正在尝试自动执行获取图像或源元素并将其复制到剪贴板的任务。 这相当于在 web 上查看图像,右键单击它,然后单击“复制图像”。 我正在尝试使用 selenium 自动执行此操作,最有效的方法是什么?
首先,您可以使用 Selenium 提供的众多选项之一来查找元素。 在您的情况下,您可能正在寻找img
HTML 标签或类似标签。
获取元素后,可以运行.get_attribute("src")
方法获取图片的源 URL。 然后,您可以将其与requests
将图片下载到您的计算机之类的模块配对:(取自此答案)
import requests
...
r = requests.get(element.get_attribute("src"), stream = True)
if r.status_code == 200:
with open(filePath, 'wb') as f:
for chunk in r:
f.write(chunk)
最后,您可以使用此答案中使用的模块将下载的图像复制到剪贴板。
本质上,将图像复制到剪贴板是通过Context Click
-> Copy image
执行的。
context_click()
通常在WebElement上调用,例如链接。
在元素上调用context_click()
会打开一个浏览器原生上下文菜单,该菜单是浏览器原生操作,设计上不能由 Selenium 管理。
使用Selenium您将无法使用send_keys(Keys.ARROW_DOWN)
、 send_keys(Keys.DOWN)
等与浏览器原生上下文菜单项进行交互。
您可以在以下位置找到相关讨论:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.