<分区>
我正在尝试使用 Selenium Chrome 网络驱动程序下载文件,但我不知道如何处理另存为对话框。
我已经看到很多关于如何使用 Firefox 执行此操作的答案,但没有一个使用 Chrome。
<分区>
我正在尝试使用 Selenium Chrome 网络驱动程序下载文件,但我不知道如何处理另存为对话框。
我已经看到很多关于如何使用 Firefox 执行此操作的答案,但没有一个使用 Chrome。
最佳答案
profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.folderList', 2) # custom location profile.set_preference('browser.download.manager.showWhenStarting', False) profile.set_preference('browser.download.dir', '/tmp') profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/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)
关于python - 如何在 Chrome 中使用 Selenium 处理另存为对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43919370/
相关文章:
java - Selenium 中的 .sendKeys 和 .sendText 有什么区别
python - 当我 "read"列的文本内容时,为什么会收到 StaleElementReferenceException?
python - 使用 apply 函数在 pandas 中创建一个具有舍入值的新列
java - 如何在 Selenium Webdriver 中模拟鼠标双击
javascript - Selenium::WebDriver::Error::ElementNotVisibleError:使用 Chrome 浏览器时调用 send_key 函数时元素不可见
python-3.x - 如何在 python selenium 中设置 Chrome 实验性选项 same-site-by-default-cookie