我正在使用 Selenium 下載通過許多復雜的登錄層和其他瀏覽器操作訪問的嵌入式 pdf。我已經(jīng)根據(jù)其他各種帖子的說明使用以下選項設(shè)置了我的 chromedriver: chromedriver = r'C:\Users\cj9250\AppData\Local\Continuum\anaconda3\chromedriver.exe' download_dir = "C:\\Users\\CJ9250\\Downloads\\" # for linux/*nix, download_dir="/usr/Public" options = webdriver.ChromeOptions() profile = { "plugins.plugins_list": [{"enabled": False, "name": "Chrome PDF Viewer"}], "download.default_directory": download_dir , "download.extensions_to_open": "applications/pdf", "plugins.always_open_pdf_externally": True, "download.prompt_for_download": False, "safebrowsing.enabled": True } options.add_experimental_option("prefs", profile) browser = webdriver.Chrome(chromedriver, chrome_options=options)但是,在下載到我指定的目錄之前,我必須單擊此框:“打開”元素沒有我可以通過檢查器找到的 xpath。我猜這是 ChromeDriver 的某種內(nèi)部安全設(shè)置,但我找不到繞過它的方法。我的最終目標只是在打開的 Selenium 測試頁面中下載嵌入的 PDF,這似乎是唯一建議的行動方案。報告Sho.do OPEN
1 回答

手掌心
TA貢獻1942條經(jīng)驗 獲得超3個贊
我不確定它為什么起作用,但是,我將我的配置文件變量修改為:
profile = {
"plugins.plugins_list": [{"enabled": False, "name": "Chrome PDF Viewer"}], # Disable Chrome's PDF Viewer
"download.default_directory": download_dir ,
"download.extensions_to_open": "applications/pdf",
"safebrowsing.enabled": False
}
從那里我能夠使用打開按鈕在頁面上獲得一個框架元素。元素屬性之一有一個 URL。當我指示瀏覽器轉(zhuǎn)到 URL 時,它會將文件下載到我指定的目錄!
添加回答
舉報
0/150
提交
取消