浏览器自动化的一些体会5 webBrowser控件之winform和webBrowser的交互
2024-08-28 03:23:33
从winform访问webBrowser,大致就是利用webBrowser提供的解析dom的方法以及用InvokeScript方法执行javascript。这个相对比较简单。
从webBrowser访问winform,归纳出来大致4种办法:
1.利用webBrowser的Navigating事件
网页里的javascript代码:
window.location.href='close';
winform里的代码:
private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
if (e.Url.AbsolutePath.IndexOf("close", StringComparison.CurrentCultureIgnoreCase) >= )
{
e.Cancel = true;
this.Close();
}
}
上面的代码是为了通知winform关闭webBrowser控件所在的winform。
2.利用window.name属性
这个属性在C#里可以通过webBrowser1.Document.Window.Name访问,不要被它的名字所迷惑,以为只能放window的name,实际上这个变量可以放几M的数据,通过这个变量可以在winform和网页之间传递数据
3.用socket通信
winform里做一个某端口的listener,网页里访问该端口进行通信。这个一般不用,因为太麻烦
4.使用comvisible属性
这个是较好的做法,可参考 https://stackoverflow.com/questions/34834774/interaction-between-webbrowser-control-and-windows-forms
最新文章
- vsftpd 安装配置
- SqlPlus中退格键和方向键的设置
- goEasy消息推送,pushlet 向特写用户实时推送
- Dexpress 中 grid的使用
- MySQL1:MySQL函数汇总
- BIEE定制化
- Lintcode: Remove Node in Binary Search Tree
- FileOutputSream
- mvc之验证IEnumerable<;T>; 类型,多选框验证
- 【WPF】DispatcherFrame 是个啥玩意儿
- 保存Druid的监控记录
- Spark核心类:弹性分布式数据集RDD及其转换和操作pyspark.RDD
- Service Fabric 与 Ocelot 集成
- Linux高级命令进阶(week1_day2)--技术流ken
- 【20190407】JavaScript-indexOf方法解析
- Java序列化相关
- 第25月第17天 django rest framwork authentication /tmp/mysql.sock
- 《Maven实战》文字版[PDF]
- python 可迭代对象与迭代器
- java FileReader/FileWriter读写文件