-1

如何使用 selenium webdriver 下载任何文件。在 selenium webdriver 中下载任何文件的逻辑是什么

4

2 回答 2

1
  1. 如果您的意思是浏览器会显示的“任何”文件,即任何 html 文件,您只需要调用

    driver.getPageSource();
    
  2. 如果您的意思是“链接另存为”或类似浏览器菜单中的“任何”文件,那么您就不走运了,因为这会触发无法由 Selenium webdriver 控制的浏览器的操作系统驱动的下载文件选择器。

2的解决方法。

我认为你有两个选择:

a) 在 selenium 上使用 AutoIT 之类的东西。这在短时间内变得非常难以控制,不可移植并且会使您的测试容易出错。

b)更好的解决方案可能是在硒之外下载文件。我在这里找到了一篇描述整个困境的好文章。它还包含一个很好的解决方案,如果下载需要,它甚至可以处理 cookie 处理。

于 2013-08-02T07:47:34.980 回答
0

实际上,使用 web-driver 下载文件并不是一个好主意。我认为您不需要该文件;在大多数情况下,它只是用于测试下载链接,为此您可以使用driver.find_element_by_tag_name("a"),driver.find_elements_by_link_text("some text")driver.find_elements_by_partial_link_text("a"); 找到元素后,您只需click()在它上面检查响应的 URL 是否真的是它应该是的。

不过,如果您有完全下载文件的目标,如果您让我知道,我会很高兴。

编辑:

今天,我访问了这个页面,我认为这会对你有所帮助,特别是这条评论

于 2013-10-07T13:51:38.290 回答