我正在尝试通过Selenium和Python使用Firefox自动下载文档。我已经尝试过停止自动生成的盒子,但Firefox一直在问,";Firefox应该如何处理这个文件&";。我需要更改或添加到Firefox配置文件中的:config设置是什么,这样我就不会收到这个提示框?我现有的代码如下:
"quot;
autodlprofile=webdriver。FirefoxProfile((
autodlprofile.set_preference("browser.download.folderList",2(
#autodlproflie.set_preference("browser.download.alwaysOpenInSystemViewerContextMenuItem",False(
autodlprofile.set_preference("browser.download.dir",r"C:\Users\X\Desktop\Automate the Boring Stuff\taxbills"(
autodlprofile.set_preference("browser.helperApps.neverAsk.saveToDisk","application/八位字节流"(
autodlprofile.set_preference("browser.helperApps.neverAsk.openFile","application/octet stream"(
autodlprofile.set_preference("browser.helperApps.showOpenOptionForPdfJS",False(
"quot;
谢谢你抽出时间。
此设置经过测试并按预期工作(我使用firefox版本88.0.1、geckodriver 0.30.0和Python 3.8.10对其进行了测试。重要提示:如果您将使用最新的Firefox版本(>90(,请小心,我认为下载功能的自动化可能存在问题。
import SeleniumLibrary
from selenium import webdriver
from robot.libraries.BuiltIn import BuiltIn
def create_profile(self)
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference("browser.download.panel.shown", False)
fp.set_preference("browser.download.dir","**provide_download_dir_here**")
fp.set_preference("browser.helperApps.neverAsk.openFile",
"application/zip,application/octet-stream, application/x-zip-compressed,
multipart/x-zip,image/jpeg,application/xml,application/pdf,text/plain,text/csv,
*/*")
fp.set_preference("browser.helperApps.neverAsk.saveToDisk",
"application/zip,application/octet-stream, application/x-zip-compressed,
multipart/x-zip,image/jpeg,application/xml,application/pdf,text/plain,text/csv,
*/*")
fp.update_preferences()
return fp.path
# Add the following code where you open the browser
ff = self.create_profile()
BuiltIn().get_library_instance("SeleniumLibrary").open_browser("https://your_url","F irefox",ff_profile_dir=ff)