Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
selenium/python下载问题_Python_Selenium_Python 2.7_Download - Fatal编程技术网

selenium/python下载问题

selenium/python下载问题,python,selenium,python-2.7,download,Python,Selenium,Python 2.7,Download,在尝试/放弃mechanize之后,我正在尝试使用Selenium和python来自动下载文件。我已经用selenium做了我认为应该做的一切,表单填写了他们应该做的,按钮被点击了,等等。但是我的问题是没有任何东西是下载的。以下是我代码的相关部分(包括firefox配置文件): 。。。 我使用sleep(9.0),因为我只是在等待文件是否需要更多时间下载。我可以看到“提交”按钮在选项卡后突出显示,但之后似乎什么也没有发生。完全迷路了。我在谷歌上搜索了一千次,似乎什么都没找到。一般来说,下载文件

在尝试/放弃mechanize之后,我正在尝试使用Selenium和python来自动下载文件。我已经用selenium做了我认为应该做的一切,表单填写了他们应该做的,按钮被点击了,等等。但是我的问题是没有任何东西是下载的。以下是我代码的相关部分(包括firefox配置文件):

。。。


我使用sleep(9.0),因为我只是在等待文件是否需要更多时间下载。我可以看到“提交”按钮在选项卡后突出显示,但之后似乎什么也没有发生。完全迷路了。我在谷歌上搜索了一千次,似乎什么都没找到。

一般来说,下载文件选择器是操作系统的一部分,而不是浏览器,所以你不能用selenium控制它。我看到两种解决办法:

1) 设置firefox配置文件设置时,不显示依赖操作系统的对话框。为此,您需要将您的个人资料更改为:

fp.set_preference("browser.download.manager.showWhenStarting",False)
有关此的链接:

2) 更好的解决方案是根本不使用selenium下载该文件。通读这篇优秀的文章: 基本上,这建议在selenium之外下载该文件


编辑:我更改了第二个选项中的链接,因为它已经死了。谢谢您指出这一点。

您可以使用urllib进行下载。我正在尝试从建议中执行此操作,但现在我得到一个属性错误:对象没有属性条带,听起来像是来自其他内容1。我检查了解决方案2中给出的链接。我认为它是针对Java而不是python的。2.在打这里之前,我遇到了第1点给出的解决方案。在那里,我再一次无法理解“下载”到底该怎么办。如何在带有url、id和cookies的代码中使用wget?确实,本文是基于Java的,但我认为它的信息独立于编程语言。
elem=browser.find_element_by_class_name('data')
elem.send_keys(Keys.TAB)

elem.send_keys(Keys.TAB)

elem.send_keys(Keys.RETURN)

time.sleep(9.0)
fp.set_preference("browser.download.manager.showWhenStarting",False)