当前位置: 首页 > 面试题库 >

如何下载XML文件以避免弹出窗口这种类型的文件可能会通过ChromeDriver和Chrome(使用Python中的Selenium)损坏您的计算机

束俊材
2023-03-14
问题内容

我想从供应商那里下载每日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)


 类似资料:
  • 当你在Chrome中下载一个文件时,你会在屏幕底部弹出一个带有下载文件名称的窗口。如何在文件下载后使用Selenium Webdriver和Python关闭它?

  • 我编写的下载文件的方法总是产生损坏的文件。 我通过adb访问这些文件,将它们传输到我的sccard,在那里我看到它们似乎有合适的大小,但没有根据例如Linux命令的类型。 你知道丢失了什么以及如何修复它吗? 谢谢。 代码的简单版本(但错误相同) 日志:< code > file . length:2485394 | content length:1399242 问题是,我从我的API单例中获得了,

  • 问题内容: 无法确定下一步,尝试从网站下载pdf文件并被卡住。 “ https://www.southtechhosting.com/SanJoseCity/CampaignDocsWebRetrieval/Search/SearchByElection.aspx ” 带有PDF文件链接的页面 PDF文件下载 我可以使用Selenium和ChromeDriver从“带有链接的页面”中单击pdf链接

  • 很难找到下一步,试图从网站下载pdf文件,结果卡住了。 " https://www . south tech hosting . com/sanjose city/CampaignDocsWebRetrieval/Search/searchbyelection . aspx " 包含PDF文件链接的页面 要下载的PDF文件 我能够使用Selenium点击“带有链接的页面”中的pdf链接 我尝试禁用

  • 问题内容: from selenium import webdriver from selenium.webdriver.chrome.options import Options 但这仅会导致以下错误: 那么如何解决呢?我是否必须使用这种“功能”?如果是这样,究竟如何? 问题答案: 试试这个。在Windows上执行 如何在Chrome中控制具有SeleniumPython绑定的文件的下载

  • 问题内容: 我想从“ https://clinicaltrials.gov/ct2/results?cond=&term=lomitapide&cntry1=&state1=&SearchAll=Search+all+studies&recrs= ”网站下载csv文件,如下所示:我收到异常“ ElementNotInteractableException”,无法下载页面 问题答案: 这是您问题的答