Alex
Alex

Reputation: 44275

Why am I unable to download a zip file with selenium?

I am trying to use selenium in order to try to download a testfile from a html webpage. Here is the complete html page I have been using as test object:

<!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>

which I put in the current working directory, along with some example zip file renamed to testzip.zip.

My selenium code looks as follows:

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()

However, if I run the test (with nosetest for example), a browser is being opened, but after that nothing happens. No error message and no download, it just seems to 'hang'.

Any idea on how to fix this?

Upvotes: 0

Views: 580

Answers (1)

Sraw
Sraw

Reputation: 20196

You are not setting up a real web server. You just have a html page but not a server to serve static files. You need to at least setup a server first.

But if your question is just related to download files, you can just use some international web site to test. It will work.

Upvotes: 1

Related Questions