有没有办法将密钥发送到"将图像另存为..." Selenium webdriver中的对话框?

时间:2015-03-13 14:05:41

标签: python selenium selenium-webdriver

尝试提取图像,成功触发“将图像另存为...”对话框,但无法发送任何密钥,有没有办法解决这个问题?

driver = webdriver.Firefox()
actions = webdriver.ActionChains(driver)
actions.move_to_element(img).context_click(img).send_keys('v').perform()

time.sleep(2)

# and this line does not work
actions.send_keys('image.jpg').perform()

距离让一切运转起来只有一步之遥,我该怎么办?

1 个答案:

答案 0 :(得分:1)

这是一种无法用selenium控制的弹出窗口。

在这种情况下,你需要通过调整它的偏好(也就是所需的功能)来要求浏览器自动保存文件

profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.download.dir", "/path/to/file")
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "image/jpeg")

driver = webdriver.Firefox(firefox_profile=profile)

其中browser.helperApps.neverAsk.saveToDisk设置值应具有应自动下载的文件的mime-type(或以逗号分隔的mime-types列表)。

另见: