Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过选择“保存图像”;“将图像另存为…”;在使用SeleniumWebDriver(Python)的上下文菜单中_Python_Selenium_Webdriver_Contextmenu - Fatal编程技术网

如何通过选择“保存图像”;“将图像另存为…”;在使用SeleniumWebDriver(Python)的上下文菜单中

如何通过选择“保存图像”;“将图像另存为…”;在使用SeleniumWebDriver(Python)的上下文菜单中,python,selenium,webdriver,contextmenu,Python,Selenium,Webdriver,Contextmenu,我正在尝试使用SeleniumWebDriver将特定图像保存到目录中。我希望通过模拟在img元素上单击鼠标右键并选择“将图像另存为…”来实现这一点。使用以下代码,我可以打开上下文菜单,但无法选择正确的选项 browser = WebDriver(executable_path=CHROMEDRIVER_PATH) browser.get(URL) img = browser.find_element_by_tag_name('img') ActionChains(browser).contex

我正在尝试使用SeleniumWebDriver将特定图像保存到目录中。我希望通过模拟在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”似乎选择“将图像另存为…”)

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


有什么想法吗?

如果你想要的是验证码,你最好只是截图

driver.save_screenshot('screenshot.png')

正如Kretivitea所建议的那样,截图将是一个不错的选择,因为验证码的设计是为了防止脚本执行您试图执行的操作。验证码旨在防止会话重复使用。描述会话的重复使用。

我遇到了类似的问题,刚刚通过使用“另存为”获得了保存图像的快捷方式---


因为我是一名java程序员,所以我无法相应地粘贴代码(python的问题)。

也许这可以帮助您获得答案,但我认为这并不能解决这个问题。如果可能的话,我想使用ChromeWeb驱动程序来实现这一点。在呈现javascript时,我在使用FireFox时遇到了一些问题。
driver.save_screenshot('screenshot.png')
Step-1-right click on an image you wish to save
Step-2- press v. 
Step-3-Enter to the directory window to save