为什么我无法下载带有selenium的zip文件?

时间:2017-09-18 07:42:44

标签: python html selenium

我正在尝试使用selenium来尝试从html网页下载测试文件。这是我一直用作测试对象的完整html页面:

<!DOCTYPE html>
<html>
<head>
    <title>Testpage</title> 
</head>
<body>
    <div id="page">
    Example Download link: 
        <a href="testzip.zip">Download this testzip</a> 
    </div>
</body>
</html>

我放在当前工作目录中,并将一些示例zip文件重命名为testzip.zip

我的硒代码如下:

profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.dir", "/tmp")
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.manager.showWhenStarting", False )
profile.set_preference("pdfjs.disabled", True )                                       profile.set_preference("browser.helperApps.neverAsk.saveToDisk","application/zip")
profile.set_preference("plugin.disable_full_page_plugin_for_types", "application/zip")

browser = webdriver.Firefox(profile)
browser.get('file:///home/path/to/html/testweb.html')
browser.find_element_by_xpath('//a[contains(text(), "Download this testzip")]').click()

但是,如果我运行测试(例如nosetest),则会打开浏览器,但之后没有任何反应。没有错误信息也没有下载,它似乎只是“挂起”。

有关如何解决这个问题的想法吗?

1 个答案:

答案 0 :(得分:1)

您没有设置真正的Web服务器。你只有一个html页面,但没有服务器来提供静态文件。您至少需要先设置服务器。

但如果你的问题与下载文件有关,你可以使用一些国际网站进行测试。它会起作用。