3 回答

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊
更新
雖然如上所述@Glazbeeselenium無法訪問操作系統(tǒng)對(duì)話框,但有一個(gè)解決方法pyautogui。如果您不想在您chrome_options的 中設(shè)置默認(rèn)下載文件夾,請(qǐng)嘗試以下操作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貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以將鍵盤模塊與 selenium 結(jié)合使用
import keyboard, time
keyboard.press(['ctrl', 's'])
time.sleep(1)
keyboard.press('enter')
這將讓您保存文件。

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
據(jù)報(bào)道此答案已過時(shí)。我無法對(duì)此進(jìn)行測(cè)試,請(qǐng)考慮使用其他答案中的解決方案。
這對(duì)您不起作用的原因是 Chrome 使用的保存對(duì)話框未呈現(xiàn)為網(wǎng)頁(yè)。它是本機(jī)代碼。
為了解決這個(gè)問題,您可以使用該selenium.webdriver.chrome.options.Options模塊。您需要設(shè)置一個(gè)默認(rèn)文件目錄,否則會(huì)出現(xiàn)提示。您可以使用如下腳本;您可以在此處找到更多信息。您還可以在此處找到有關(guān)為何使用實(shí)驗(yàn)選項(xiàng)的信息
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
})
添加回答
舉報(bào)