博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在 WebBrowser 的任意页面中安装 jQuery 操作页面元素 - IEBrowser [4]
阅读量:7206 次
发布时间:2019-06-29

本文共 2245 字,大约阅读时间需要 7 分钟。

一文章说明了如何让 js 脚本访问 .NET 中的类, 这次希望给大家说明一下在任意页面中安装 jQuery 脚本, 并操作页面上的元素.

其实在第一篇关于 IEBrowser 的文章当中, 已经有了一段 jQuery 的示例, 但可能由于篇幅原因, 没有过多的解释, 所以决定单独写一篇来重新说明.

次准备的例子也是较为简单的, 实现了模拟用户搜索百度, 请大家看下面的代码:

 
if
(
string
.IsNullOrEmpty (
this
.txtKeyword.Text ) )
return
;
IEBrowser ie
=
new
IEBrowser (
this
.webBrowser );
ie.Navigate (
"
http://www.baidu.com/
"
);
ie.IEFlow.Wait (
new
UrlCondition (
"
wait
"
,
"
http://www.baidu.com/
"
, StringCompareMode.StartWith ) );
ie.InstallJQuery ( JQuery.CodeMin );
ie.ExecuteJQuery ( JQuery.Create (
"
'#kw'
"
).Val (
"
'
"
+
this
.txtKeyword.Text.Trim ( )
+
"
'
"
) );
ie.ExecuteJQuery ( JQuery.Create (
"
'#su'
"
).Click ( ) );

这段有效代码不超过 10 行的代码段, 模拟了导航并等待百度页面, 之后模拟用户搜索的功能.

在窗口上, 我们拥有一个名称为 webBrowser 的 WebBrowser 控件和一个名称为 txtKeyword 的 TextBox 控件.

在代码开始时, 我们首先判断了用户输入的关键词是否为空, 如果为空则直接 return, 而关键词用于在百度中搜索.

之后, 我们使用了 IEBrowser Navigate IEFlow Wait 方法来导航并等待载入百度页面. Wait 方法用于让程序等待某个条件成立后才继续向下执行, 而代码中我们指定的是一个 UrlCondition, 也就是一个页面条件, StringCompareMode 设置为 StartWith 表示等待地址以 "http://www.baidu.com/" 开始的页面载入.

当页面载入之后, 我们执行 IEBrowser InstallJQuery 方法来为页面安装 jQuery 脚本. 而 InstallJQuery 方法有两种形式, 一种可以载入字符串作为脚本, 另一种是传递一个 Uri 作为参数, Uri 是一个网络的地址或者一个本地文件的地址, 在示例中, 我们使用的是第一种形式, 类 JQuery 的静态属性 CodeMin 返回了 jQuery 的压缩后的脚本.

面, 我们将两行重要的代码重新列出, 在代码中, 我们传递 JQuery 类作为参数给 IEBrowser ExecuteJQuery 方法, 以在 WebBrowser 的页面中执行 jQuery 脚本.

 
ie.ExecuteJQuery ( JQuery.Create (
"
'#kw'
"
).Val (
"
'
"
+
this
.txtKeyword.Text.Trim ( )
+
"
'
"
) );
ie.ExecuteJQuery ( JQuery.Create (
"
'#su'
"
).Click ( ) );

我们可以使用 JQuery 的静态方法 Create, 或者 new JQuery 来创建一个 JQuery 的实例. 第一行的 JQuery 对象所对应的 jQuery 脚本为 $('#kw').val('<用户输入的关键词>');, 而第二行的 JQuery 对象对应了 $('#su').click();.

在这里, JQuery 类和实际的 js 脚本中的 jQuery 的用法几乎是相同的, 只不过 Create 表示 $, 而 jQuery 的成员在 JQuery 类中都变成了大写, 但成员名称并无变化. JQuery 类用于在 .NET 中构建 jQuery 脚本并作为参数传递给 IEBrowser 执行.

其实, 你也可以通过 IEBrowser ExecuteScript 来直接执行 jQuery 脚本, 其效果也是完全一样的.

而这两句 jQuery 的含义, 表示将用户输入的关键词填入到页面的搜索框中, 然后点击搜索按钮, kw 和 su 分别是百度页面中的搜索框和搜索按钮的 id, '#kw' 则表示取 id 为 kw 的页面元素, 这些都是设计到 jQuery 本身的内容了, 大家可以参考 .

码到这里也就讲完了, 需要看实际运行效果的话, 可以参照下面的演示.

IEBrowser 是开源共享的代码, 可以在  页面下载 dll 或者是源代码.

还是那句话, 如果大家有关于 IEBrowser 好的想法和建议, 可以留言评论, :-).

实际过程演示: .

转载于:https://www.cnblogs.com/zoyobar/archive/2011/07/01/IEBrowser_4.html

你可能感兴趣的文章
图片处理--边缘高亮
查看>>
解析Disruptor:解密内存障
查看>>
管道-过滤器模式学习总结
查看>>
投放数据获取(三):搜狗
查看>>
springboot之使用redistemplate优雅地操作redis
查看>>
《斯坦福大学:编程范式》第5节1:void*类型的使用:一个兼容所有类型的线性搜索...
查看>>
环境配置之 Debug 和 Release - iOS
查看>>
Java精选笔记_Java入门
查看>>
The Cow-Signal
查看>>
centOS7 初始环境配置
查看>>
HTML5 Canvas绘制跟随鼠标移动的球
查看>>
leetcode1048
查看>>
Log Analysis - DataFrame
查看>>
Spring Data Solr
查看>>
页面渲染的同步和异步区别?
查看>>
MongoDB基本使用
查看>>
[转]Eclipse中远程调试Hadoop
查看>>
由一个C语言递归判断回文数的程序产生的回忆
查看>>
Linux下安装mysql5.7
查看>>
1.1.3 Getting Started_Budding Your First App_Building a Simple User Interface
查看>>