如何捕获按钮单击事件后生成的下载链接

时间:2014-01-08 17:50:32

标签: c# .net selenium internet-explorer-9

至于输入: 我正在使用C#和Selenium Webdriver在网站上自动执行某些验证。浏览器是IE9。

我正在处理的步骤: 我有一个由ajax查询生成的表。当我点击打印按钮时,它会返回一个可以打印的文件。 我需要捕获建议下载的文件的链接的问题,我已经没有想法如何做到这一点。

所以我很高兴听到熟练用户的建议=)。

2014年1月1日更新: 抱歉,我忘了说没有链接,实际上按钮点击触发创建文档的JS或ajax请求,然后只生成链接并显示打开/保存IE对话框。

更新 链接HTML

<a id="ucRadGrid_lnkPrintPDF" onclick="ucRadGrid.print();" href="javascript:__doPostBack('ucRadGrid','PDF')">

1 个答案:

答案 0 :(得分:0)

我做的是,我从不允许我的webdriver管理下载。我要做的是使用纯C#为我下载文件。

您只需找到链接的href attr并下载即可。这是一些伪代码:

var href = driver.FindElement(By.ID("download_link").GetAttribute("href");'
DownloadFile(href, "my file.ext");

从那里,你可以做你需要的。使用纯C#等验证文本

编辑在您的评论如下:

您可以做的是找到您要下载的资源的网址。这甚至可能需要在页面中使用JS。找到下载文件的函数,然后执行该代码,或者解析URL的函数,然后执行DownloadFile