一尘不染

如何通过使用Selenium Webdriver(Python)在上下文菜单中选择“将图像另存为...”来保存图像

selenium

我正在尝试使用Selenium
WebDriver将特定图像保存到目录中。我一直在通过模拟右键单击img元素并选择“将图像另存为…”来实现此目的。使用以下代码,我可以打开上下文菜单,但是无法选择正确的选项。

browser = WebDriver(executable_path=CHROMEDRIVER_PATH)
browser.get(URL)
img = browser.find_element_by_tag_name('img')
ActionChains(browser).context_click(img).perform()

我也尝试过:

ActionChains(browser).context_click(img).send_keys(Keys.ARROW_DOWN).send_keys(Keys.ENTER).perform()

并使用快捷方式(“ v”似乎选择了“将图像另存为…”)

ActionChains(browser).context_click(img).send_keys('v').perform()

该图片没有直接的网址,因为它是一个验证码图片,每次点击都会随机重新加载。对于我来说,能够处理它的唯一方法是首先将其保存在磁盘上(使用“另存为…”)。保存整个页面不会保存该特定图像,因此也无法正常工作。

有任何想法吗?


阅读 722

收藏
2020-06-26

共1个答案

一尘不染

如果您想使用的是验证码,那么最好还是截取屏幕截图。

driver.save_screenshot('screenshot.png')
2020-06-26