我想从供应商那里下载每日xml文件。我设法登录并单击链接接受下载以开始使用chromedriver下载。
但是我看到弹出窗口“此类型的文件可能会损害您的计算机”。页面的MIME 是text / html,我不确定链接是否是text / javascript
我尝试了所有建议的解决方案,例如
print('Starting..') prefs = { 'download.default_directory': 'C:\\Users\MainDesk\Downloads', 'download.prompt_for_download': False, 'download.extensions_to_open': 'xml', 'safebrowsing.enabled': False } options = Options() options.add_experimental_option('prefs',prefs) browser = webdriver.Chrome(options=options, executable_path='C:\\chromedriver.exe')
如何自动保存文件?
另外,我尝试进入Chrome的“设置”并关闭“询问以保存文件”
我正在Windows 7,Python 3.7和Visual Studio以及最新版本的chromedriver 上运行脚本
无法自动执行我的下载?
关于一些信息的网页从那里您试图下载该XML文件可能是有帮助的调试与弹出窗口的问题 文本“这种类型的文件可能会损害您的计算机以更好的方式。
但是,这里有一个示例程序,可从该 网页下载xml文件:
代码块:
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC prefs = { 'download.default_directory': 'C:/Utility/Downloads/', 'download.prompt_for_download': False, 'download.extensions_to_open': 'xml', 'safebrowsing.enabled': True } options = webdriver.ChromeOptions() options.add_experimental_option('prefs',prefs) options.add_argument("start-maximized") # options.add_argument("disable-infobars") options.add_argument("--disable-extensions") options.add_argument("--safebrowsing-disable-download-protection") options.add_argument("safebrowsing-disable-extension-blacklist") driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe') driver.get("http://www.landxmlproject.org/file-cabinet") WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//span[text()='MntnRoad.xml']//following::span[1]//a[text()='Download']"))).click() * Browser Snapshot: [![xml_download](https://i.stack.imgur.com/hc1W6.png)](https://i.stack.imgur.com/hc1W6.png)