单击C#WebBrowser上的链接开始下载文件及其链接
我正在使用单击C#WebBrowser上的链接开始下载文件及其链接,c#,click,webbrowser-control,C#,Click,Webbrowser Control,我正在使用C#WebBrowser导航到一个页面。 在导航到该页面后,我从其源代码中提取一些链接,然后开始导航到从其父url获得的循环中的那些子链接 在每个子链接上都有一个链接,看起来像: <a onclick="sysMT('SYSext.Sup_Filetype','type','SYSext.Sup_Filename','Filename.exe','SYSext.Sup_Referer','http://abc.com');" id="ctl00_UCDownloadFil
C#WebBrowser
导航到一个页面。
在导航到该页面后,我从其源代码中提取一些链接,然后开始导航到从其父url获得的循环中的那些子链接
在每个子链接上都有一个链接,看起来像:
<a onclick="sysMT('SYSext.Sup_Filetype','type','SYSext.Sup_Filename','Filename.exe','SYSext.Sup_Referer','http://abc.com');"
id="ctl00_UCDownloadFile1_Accept"
href="javascript:__doPostBack('ctl00$UCDownloadFile1$Accept','')">Accept</a>
但是会出现一个脚本错误消息框
"An error has occured in the script on this page.
Error: The value of the property 'sysMT' is null or undefined, not a Function object.
Do you want to continue running script on this page?
Yes NO"
无法理解我在这件事上遗漏了什么。父url是否制作了一些cookie来帮助下载文件?不知道如何下载该文件和下载文件链接
我是C#WebBrowser的新手
更新
我可以使用删除脚本错误消息框
webBrowser2.ScriptErrorsSuppressed = true;
但无法下载子链接中的所有文件,即
如果我从父url获得3个链接,那么我将导航到第一个链接,单击“接受链接”,然后出现一个框,要求执行操作以运行“保存取消”。
但是我得到这个盒子只是为了第三(最后)个链接。
如何克服这个问题,我想从每个链接下载所有文件,而不需要任何提示,要求
运行SAVE CANCEL.
直接保存一个文件。显然,您缺少了一些Javascript,其中定义了sysMT
。在循环中调用Application.DoEvents()
的方式是错误的(这叫“忙着等待”)。检查。
webBrowser2.ScriptErrorsSuppressed = true;