C# 如何捕获按钮单击事件后生成的下载链接
至于输入: 我使用C#和Selenium Webdriver在网站上自动进行一些验证。浏览器是IE9 我正在进行的步骤: 我有一个由ajax查询生成的表。当我点击“打印”按钮时,它会返回一个可以打印的下载文件。 问题是,我需要捕捉到建议下载的文件的链接,我已经没有办法做到这一点 因此,如果能听到熟练用户的任何建议,我将不胜感激 2014年1月8日更新:C# 如何捕获按钮单击事件后生成的下载链接,c#,.net,selenium,internet-explorer-9,C#,.net,Selenium,Internet Explorer 9,至于输入: 我使用C#和Selenium Webdriver在网站上自动进行一些验证。浏览器是IE9 我正在进行的步骤: 我有一个由ajax查询生成的表。当我点击“打印”按钮时,它会返回一个可以打印的下载文件。 问题是,我需要捕捉到建议下载的文件的链接,我已经没有办法做到这一点 因此,如果能听到熟练用户的任何建议,我将不胜感激 2014年1月8日更新: 对不起,我忘了说没有链接,实际上按钮点击会触发JS或ajax请求,创建文档,然后才生成链接并显示“打开/保存IE”对话框 已更新 链接HTML
对不起,我忘了说没有链接,实际上按钮点击会触发JS或ajax请求,创建文档,然后才生成链接并显示“打开/保存IE”对话框 已更新 链接HTML
<a id="ucRadGrid_lnkPrintPDF" onclick="ucRadGrid.print();" href="javascript:__doPostBack('ucRadGrid','PDF')">
我所做的是,我从不允许我的webdriver管理下载。我要做的是使用纯C语言为我下载文件 只需找到链接的href attr并下载即可。下面是一些伪代码:
var href = driver.FindElement(By.ID("download_link").GetAttribute("href");'
DownloadFile(href, "my file.ext");
从那里,你可以做你需要做的事。使用纯C#等验证文本
在您发表以下评论后编辑:
你能做的就是找到你想要下载的资源的URL。这甚至可能需要在页面中使用JS。找到下载文件的函数,然后执行该代码,或者解析URL的函数,然后执行
DownloadFile
Ups抱歉,我忘了说没有链接,实际上,点击按钮会触发一个JS或ajax请求,创建一个文档,然后才生成链接并显示“打开/保存IE”对话框。请您用一个例子解释一下您的编辑。您唯一缺少的@Sohaib是下载文件
,您需要使用该方法。关于如何将Url下载到文件,有各种各样的教程。我可以很容易地实现这一点。我只想知道如果按钮包含html,如何获取href,如下所示
。我的意思是,它没有我可以识别的onClick()。