我正在尝试使用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
),则会打开浏览器,但之后没有任何反应。没有错误信息也没有下载,它似乎只是“挂起”。
有关如何解决这个问题的想法吗?
答案 0 :(得分:1)
您没有设置真正的Web服务器。你只有一个html页面,但没有服务器来提供静态文件。您至少需要先设置服务器。
但如果你的问题与下载文件有关,你可以使用一些国际网站进行测试。它会起作用。