如何下载 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

查看:83
本文介绍了如何下载 XML 文件避免弹出这种类型的文件可能会通过 ChromeDriver 和 Chrome 在 Python 中使用 Selenium 损害您的计算机的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从供应商处下载每日 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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆