繁体   English   中英

如何使用 Selenium 和 Python 将图像从浏览器本机菜单复制到剪贴板

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM