在使用Webbrowser抓取网页信息时,碰到需要下载文件,这时需要用户介入操作,如何避免:

首先引进

[DllImport("urlmon.dll", CharSet = CharSet.Auto, SetLastError = true)]
          static extern Int32 URLDownloadToFile(
              [MarshalAs(UnmanagedType.IUnknown)] object pCaller,
              [MarshalAs(UnmanagedType.LPWStr)] string szURL,
              [MarshalAs(UnmanagedType.LPWStr)] string szFileName,
              Int32 dwReserved,
              IntPtr lpfnCB);
再添加  
this.WebBrowser.Navigating += WebBrowser_Navigating;
void WebBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
           //设置下载条件
if (e.Url != null && e.Url.AbsolutePath.IndexOf("/V1/Delivery/Download") > -)
{
try
{
if (Citation.IsValid)
{
UIManager.ProgressMessageHandler(this, new UIEventArgs { Message = "Downloading "+ e.Url.Segments[e.Url.Segments.Length - ]});
                     string fullname = Path.Combine(pdfSavePath_, e.Url.Segments[e.Url.Segments.Length - ]);
                     
                     //在这替换“下载提示框”,并自定义下载
                     int response = URLDownloadToFile(null, e.Url.AbsoluteUri, fullname, , IntPtr.Zero); if (response == )
{
Citation.IsDownloaded = true;
UIManager.ProgressMessageHandler(this, new UIEventArgs { Message = Citation.Name + " has downloaded." });
}
}
}
catch
{
}
finally
{
                 //取消“下载提示框”,不会再提示用户
e.Cancel = true;
}
}
}

                 

Webbrowser 取消下载提示框的更多相关文章

  1. Asp.Net下载页面,并弹出下载提示框

    Asp.Net下载页面,并弹出下载提示框.在删除按钮里调用以下方法.

  2. IE中使用ajaxSubmit上传文件弹出下载提示框

    使用jQuery的ajaxSubmit 上传文件时,在IE中会弹出下载提示框: 解决方法:让action返回String类型,而不是ActionView,

  3. C# WebBrowser控件 下载文件不弹下载提示框的办法

    参考链接 https://stackoverflow.com/questions/6773866/download-file-and-automatically-save-it-to-folder p ...

  4. 使用Jquery.form.js ajax表单提交插件弹出下载提示框

    现象: 使用jquery的from做ajax表单提交的时候,后台处理完毕返回json字符串,此时浏览器提示下载一个json文件而不是在success里面继续解析该json对象. 具体的原因: 浏览器兼 ...

  5. 解决IE9弹出json下载提示框

    <!-- 开启注解 --> <mvc:annotation-driven> <mvc:message-converters> <bean class=&quo ...

  6. 替代alert的消息框和提示框

    alert提示框由于外观不太友好,所以一般都不用alert了. 我在这里使用bootstrap的样式,写了一个可以单独显示消息,也可以确认取消的提示框,确认,取消的采用模式对话框方式,用一个div遮盖 ...

  7. 解决java依赖poi导出Excel表时,没有出现下载提示的问题

    转自:https://blog.csdn.net/jinchunzhao123/article/details/88626077 浏览器响应: 而且进入断点调试,所有的数据都执行了就是没有下载提示.而 ...

  8. form WebBrowser自动点击弹出提示框alert、弹出对话框confirm、屏蔽弹出框、屏蔽弹出脚本错误的解决办法

    针对WebBrowser控件中自动点击弹出框及禁用脚本提示问题得到如下几种实际情况的解决办法,绝对管用. 1.屏蔽弹出错误脚本 将WebBrowser控件ScriptErrorsSuppressed设 ...

  9. WPF 设置WebBrowser控件不弹脚本错误提示框

    using System.Reflection; using System.Windows; using System.Windows.Controls; using System.Windows.N ...

随机推荐

  1. iOS - 使用进阶

    1. 状态栏显示风火轮 //  ViewController.m //  1.状态栏显示风火轮 // //  Created by wind on 16/11/13. //  Copyright © ...

  2. Tomcat找不到service.bat文件

    说明:我们给客户做安装包,Tomcat我们设置了编码和端口,所以用绿色版的,同时又要注册成windows服务.但是bin下面没有service.bat文件(tomcat6.exe,tomcat6x.e ...

  3. Linux下OpenCV的环境搭建

    OpenCV is the most popular and advanced code library for Computer Vision related applications today, ...

  4. yaf运行错误:Class 'Yaf_Application' not found

    提示:致命错误 Yaf_Application 基类没有加载进去 一检查:phpinfo() 里yaf 扩展有没有安装上 扩展也安装进去了 这时在分布式配置文件的重写 也是正确 这时百思不得其解,没办 ...

  5. hadoop2.2.0伪分布式搭建

    1.准备Linux环境     1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ...

  6. windows下apache配置https

    1.下载带有openSSL的apache安装包,我下载的为apache_2.2.11-win32-x86-openssl-0.9.8i.msi,安装后确认一下bin路径下的openssl.exe,ss ...

  7. HTML:form表单总结,input,select,option,textarea,label

    <form>标签是块级元素. form标签的标准属性有id,class,style,title,lang,xml:lang. 表单能够包含input元素(包含button,checkbox ...

  8. Docker 启动失败Starting docker (via systemctl): Job for docker.service failed

    Starting docker (via systemctl):  Job for docker.service failed. See 'systemctl status docker.servic ...

  9. Android中表示尺寸的六种度量单位

    本文章来自:http://my.eoe.cn/lakeside/archive/4831.html in:Inches - 表示英寸,是屏幕的物理尺寸,每英寸等于2.54厘米.平时说手机屏幕4(英)寸 ...

  10. JQuery解析JSon

    JsonCreatet.ashx页面 JSonAnalysis.aspx测试页面 一般处理程序中使用Newtonsoft.Json来序列化json 页面使用Jquery 来解析Json数据 Jquer ...