Selenium Firefox在下载文件后被卡住



我使用python selenium(最新版本(与geckodriver 0.31.0和Firefox 103登录网站并下载文件,但下载文件后,浏览器被卡住,browser.quit()从未被调用。

这是相关代码:

s = Service(DRIVER_PATH)
firefox_options = Options()
firefox_options.set_preference("browser.download.folderList", 2) # to not use the default directory for downloading the file
firefox_options.set_preference("browser.download.manager.showWhenStarting", False) # turns off the showing of download progress
firefox_options.set_preference("browser.download.dir", "/home/<myuser>/")
firefox_options.set_preference("browser.download.directory_upgrade", True)
firefox_options.set_preference("browser.download.prompt_for_download", False)
firefox_options.set_preference("browser.download.manager.showWhenStarting", False)
firefox_options.set_preference("browser.download.manager.alertOnEXEOpen", False)
firefox_options.set_preference("browser.download.manager.focusWhenStarting", False)
firefox_options.set_preference("browser.helperApps.alwaysAsk.force", False)
firefox_options.set_preference("browser.download.manager.alertOnEXEOpen", False)
firefox_options.set_preference("browser.download.manager.closeWhenDone", True)
firefox_options.set_preference("browser.download.manager.showAlertOnComplete", False)
firefox_options.set_preference("browser.download.manager.useWindow", False)
firefox_options.set_preference("services.sync.prefs.sync.browser.download.manager.showWhenStarting", False)
firefox_options.set_preference("pdfjs.disabled", True)
firefox_options.add_argument("--disable-infobars")
firefox_options.add_argument("--disable-extensions")
firefox_options.set_preference("network.proxy.socks_remote_dns", True)
browser = webdriver.Firefox(service=s, options=firefox_options)
browser.get(URL)
browser.find_element(By.NAME, "login").send_keys(USER)
browser.find_element(By.NAME, "password").send_keys(PASSWORD)
browser.find_element(By.CLASS_NAME, CLASS).click()
# download file
browser.get(URL + "feed.rss")
time.sleep(3)
browser.quit()

我知道我可以通过传递selenium cookie来下载带有pythonrequests的文件,但我需要下载带有selenium的文件。

Firefox 102.3显示了带有此配置文件的下载窗口(至少在java中是这样(。我需要添加以下配置行:

"browser.download.alwaysOpenPanel"=错误

我不确定这是否有助于python,或者这是否是问题所在。在seleniumjava中,如果有一个弹出窗口("显示所有下载"(,我会用某些代码来分散注意力。

最新更新