我想从供应商处下载每日xml文件。我设法登录并单击链接接受下载以使用chromeriver开始下载。
但我收到弹出窗口“这种类型的文件可能会损害您的计算机”。页面的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上运行脚本,Python3.7和Visual Studio以及最新版本的chromeriver
自动下载是不可能的?
有关您尝试从何处下载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()
浏览器快照: