如何下载 XML 文件避免弹出这种类型的文件可能会通过 ChromeDriver 和 Chrome 在 Python 中使用 Selenium 损害您的计算机 [英] How to download XML files avoiding the popup This type of file may harm your computer through ChromeDriver and Chrome using Selenium in Python
问题描述
我想从供应商处下载每日 xml 文件.我设法登录并单击链接接受下载以使用 chromedriver 开始下载.
但我收到弹出窗口此类文件可能会损害您的计算机".页面的 MIME 是 text/html,我不确定链接是否是 text/javascript
我尝试了所有建议的解决方案,例如
print('开始..')首选项 = {'download.default_directory': 'C:\UsersMainDeskDownloads','download.prompt_for_download':错误,'download.extensions_to_open': 'xml','safebrowsing.enabled':假}选项 = 选项()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 文件可能有助于调试带有文本的弹出窗口问题,例如这种类型的文件可能会以更好的方式损害您的计算机.
然而,这里有一个示例程序,用于从
I want to download a daily xml file from a supplier. I managed to login and click the link Accept Download to start the downloading using chromedriver.
But I get the popup "This type of file may harm your computer". The MIME of the page is text/html, I am not sure if link is text/javascript
I tried all suggested solutions with options like
print('Starting..')
prefs = {
'download.default_directory': 'C:\UsersMainDeskDownloads',
'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')
How can I have my file automatically?
Additionaly I tried go in Settings of Chrome and turn off Ask to save file
I am running the script on Windows 7, with Python 3.7 and Visual Studio and the latest version of chromedriver
It is impossible to automate my download?
Some more information about webpage from where you are trying to download the xml file might have been helpful to debug the issue of the popup with text as "This type of file may harm your computer in a better way.
However here is a sample program to download xml file from this webpage:
Code Block:
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:UtilityBrowserDriverschromedriver.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 文件避免弹出这种类型的文件可能会通过 ChromeDriver 和 Chrome 在 Python 中使用 Selenium 损害您的计算机的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!