我正在尝试使用 Selenium Chrome Web 驱动程序下载文件,但我不知道如何处理“另存为”对话框。
我已经看到很多关于如何使用 Firefox 执行此操作的答案,但没有看到使用 Chrome 的答案。
配置文件 = webdriver.FirefoxProfile()
profile.set_preference('browser.download.folderList', 2) # 自定义
地点
profile.set_preference('browser.download.manager.showWhenStarting',
False) profile.set_preference('browser.download.dir', '/tmp')
profile.set_preference('browser.helperApps.neverAsk.saveToDisk',
'文本/csv')
设置这些首选项后,浏览器将不会显示弹出对话框询问您是否要下载保存或其他。
那么什么时候可以使用find_some_eleme = driver.find_element_by_xpath('''<somexpath>''').click()
我们可以使用任何其他方法来定位元素 xpath/id/css/name... 并且我们可以自由地使用方法 click() 因为不会出现对话框。
或者.setPreference("browser.helperApps.neverAsk.saveToDisk","application/octet-stream,text/csv")
对于 Chrome:
chromedriver = "path/to/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
chrome_options = Options()
# this is the preference we're passing
prefs = {'profile.default_content_setting_values.automatic_downloads': 1}
chrome_options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=chrome_options)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)