-
vb.net 教程 20-3 控制Ie浏览器 9
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
八、更加深入的例子
同12章中通过 HtmlElement类 或者其他方法获取网页上元素信息,
我们也可以通过获得 mshtml.IHTMLDocument2 来获得IE窗口网页元素信息。
这里偷个懒,主要代码同上一小节 vb.net 教程 20-3 控制Ie浏览器 8
但是将ListIe设置为窗体级变量:
Dim listIe As ArrayList
对应列表按钮代码:
Private Sub cbListIE_Click(sender As Object, e As EventArgs) Handles cbListIE.Click
listIe = New ArrayList
listIe = getIhtmlDoc()
If listIe.Count > 0 Then
For i As Integer = 0 To listIe.Count - 1
Dim subList As New ListViewItem()
subList.Text = i.ToString
Dim iedocInfo As New IeDocStructure
iedocInfo = CType(listIe.Item(i), IeDocStructure)
subList.SubItems.Add(iedocInfo.title)
subList.SubItems.Add(iedocInfo.url)
lvListIE.Items.Add(subList)
Next
End If
End Sub
所举例子采用的是 http://www.qqrec.com/vblessons/vbnet20-2-1.htm
获得文本框内的信息代码如下:
Private Sub btnInfo_Click(sender As Object, e As EventArgs) Handles btnInfo.Click
If lvListIE.SelectedIndices.Count < 1 Then
MessageBox.Show("尚未选择一行数据")
Exit Sub
End If
Dim selectedIndex As Integer
selectedIndex = lvListIE.SelectedIndices.Item(0)
Dim ieInfo As IeDocStructure
Dim ie_SHwnd As Integer
ieInfo = CType(listIe.Item(selectedIndex), IeDocStructure)
ie_SHwnd = ieInfo.IE_SHwnd
'获得IHTMLDocument2接口
Dim IEdoc As mshtml.IHTMLDocument2
IEdoc = getDocumentfromIES(ie_SHwnd)
Dim studentname As String = ""
Dim studentage As String = ""
Dim ieElement As mshtml.IHTMLElement
For Each ieElement In IEdoc.all
Select Case ieElement.id
Case "studentname"
studentname = ieElement.getAttribute("value")
Case "studentage"
studentage = ieElement.getAttribute("value")
End Select
Next
MessageBox.Show("学生名称:" & studentname & vbCrLf & "学生年龄:" & studentage)
End Sub
运行结果如下图(注意,笔者偷懒直接选择正确的网页,如果选择别的网页不能返回结果的)
不管Ie窗体是被遮挡或者最小化,都会获得正确的结果。
当然请注意:切勿用于做坏事
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。
学习更多vb.net知识,请参看vb.net 教程 目录
————————————————
版权声明:本文为CSDN博主「VB.Net」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/uruseibest/article/details/77925333
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
JavaScript判断两个数组相等的四类方法
js如何操作video标签
React实战--利用甘特图和看板,强化Paas平
【记录】正则替换的偏方
前端下载 Blob 类型整理
抽象语法树AST必知必会
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程