尝试提取图像,成功触发“将图像另存为...”对话框,但无法发送任何密钥,有没有办法解决这个问题?
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()
距离让一切运转起来只有一步之遥,我该怎么办?
答案 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列表)。
另见: