有没有办法将密钥发送到 Selenium webdriver 中的 "Save Image As..." 对话框?
Is there a way to send keys to "Save Image As..." dialog in Selenium webdriver?
正在尝试提取图片,成功触发了"Save Image as..."对话框,但是无法发送任何密钥,有没有办法解决这个问题?
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()
离万事大吉只差一步,我该怎么做?
这是一种您无法使用 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 类型(或逗号分隔的 MIME 类型列表)。
另请参阅:
- Access to file download dialog in Firefox
正在尝试提取图片,成功触发了"Save Image as..."对话框,但是无法发送任何密钥,有没有办法解决这个问题?
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()
离万事大吉只差一步,我该怎么做?
这是一种您无法使用 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 类型(或逗号分隔的 MIME 类型列表)。
另请参阅:
- Access to file download dialog in Firefox