3 回答

TA貢獻1911條經(jīng)驗 獲得超7個贊
更新
雖然如上所述@Glazbeeselenium無法訪問操作系統(tǒng)對話框,但有一個解決方法pyautogui。如果您不想在您chrome_options的 中設(shè)置默認(rèn)下載文件夾,請嘗試以下操作webdriver:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import pyautogui
import time
driver = webdriver.Chrome(chrome_options=options, executable_path = chrome_driver_path)
driver.get('https://www.shs-conferences.org/articles/shsconf/pdf/2019/06/shsconf_m3e22019_03006.pdf')
webdriver.ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="plugin"]')).key_down(Keys.CONTROL).send_keys('s').key_up(Keys.CONTROL).perform()
time.sleep(1)
pyautogui.press('enter')

TA貢獻1812條經(jīng)驗 獲得超5個贊
您可以將鍵盤模塊與 selenium 結(jié)合使用
import keyboard, time
keyboard.press(['ctrl', 's'])
time.sleep(1)
keyboard.press('enter')
這將讓您保存文件。

TA貢獻2080條經(jīng)驗 獲得超4個贊
據(jù)報道此答案已過時。我無法對此進行測試,請考慮使用其他答案中的解決方案。
這對您不起作用的原因是 Chrome 使用的保存對話框未呈現(xiàn)為網(wǎng)頁。它是本機代碼。
為了解決這個問題,您可以使用該selenium.webdriver.chrome.options.Options模塊。您需要設(shè)置一個默認(rèn)文件目錄,否則會出現(xiàn)提示。您可以使用如下腳本;您可以在此處找到更多信息。您還可以在此處找到有關(guān)為何使用實驗選項的信息
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_experimental_option("prefs", {
"download.default_directory": r"C:\Users\xxx\downloads\Test",
"download.prompt_for_download": False,
"download.directory_upgrade": True,
"safebrowsing.enabled": True
})
添加回答
舉報