【发布时间】:2017-05-10 11:08:28
【问题描述】:
我需要使用 Selenium 下载 pdf 文件。单击按钮时会下载此 pdf 文件。文件的 URL 不可访问,按钮提交表单,服务器直接响应文件(没有确认对话框)。
我正在使用 PhantomJS WebDriver(该项目使用 C#),因为该应用程序将是一个 Azure webapp,所以我不能使用 ChromeDriver 或类似的。问题是 PhantomJS 无法处理二进制文件,所以当我模拟按钮中的单击时,应用程序不会下载任何内容。
有什么想法吗??
P.D:Selenium 不仅用于 pdf 下载,该项目还大量使用它。
【问题讨论】:
-
您不必与文件本身进行交互,只需按钮即可;所以你只需要点击..我是对的吗?您可以使用自定义 waitAndClick() 方法等待元素可见、可点击,然后使用 Actions 类聚焦元素并点击它
-
可能我表达的不是很好……点击按钮时,开始下载(例如我使用ChromeDriver时)。但是当使用 PhantomJS“点击”按钮时什么也没有发生。
-
好的,你可以尝试使用 selenium 的
JavascriptExceutor来点击按钮元素 -
感谢 cmets。问题是当 Selenium 单击按钮时(使用 PhantomJS)什么也没有发生,因为它无法处理二进制文件,所以它不会下载文件。
-
可以,但是可以点击开始下载的按钮
标签: c# azure selenium phantomjs