VB.net webBrowser控件获取如何获取下面这网页元素的值

<input name="txtCSRQ" class="textbox" id="txtCSRQ" type="text" readonly="readonly" dateformat="ymd" value="1993-05-10"/>

我将你的上面的html代码复制到一个test.html文件中
<html>
<head>
<title>Test Page</title>
</head>
<body>
<input name="txtCSRQ" class="textbox" id="txtCSRQ" type="text" readonly="readonly" value="1993-05-10"/>
</body>
</html>

然后在vb.net的webbrowser中加载这个test.html,加载完毕后点击一个按钮获取input的value值,实现代码如下:

' 此方法为Form1的加载事件
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 加载本地文档test.html
WebBrowser1.Url = New Uri(String.Format("file:///{0}/test.html", Application.StartupPath))
' 文档没有加载完毕之前将按钮禁用
Button1.Enabled = False
End Sub

' 此方法为Button1的Click事件
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim doc As HtmlDocument = WebBrowser1.Document
' 查找ID为txtCSRQ的元素
Dim element As HtmlElement = doc.GetElementById("txtCSRQ")
' 如果找到了改元素
If element IsNot Nothing Then
' 显示该元素的值
MessageBox.Show(element.GetAttribute("value"))
End If
End Sub

' 此方法为WebBrowser的DocomentCompleted事件
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
' 文档test.html加载完毕后,使按钮可用
Button1.Enabled = True
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-05-10
For Each a In WebBrowser1.Document.getElementsByTagName("input")
Select Case a.Name
Case "txtCSRQ"
Text1.Text = a.Value
End Select
Next
在VB6.0下用此方法可以得到value的值 1993-05-10,VB.net的话没用过,转换一下应该可以的。

希望可以帮到你,满意请采纳,有问题请追问^_^本回答被提问者和网友采纳
第2个回答  2013-02-22
正则表达式=。=
\<input\sname=\"(?<name>.+?)\".+value=\"(?<value>.+)\"\/\>
没测试,差不多这样吧
只是获取这个就用webBrowser有点浪费

VB.net webBrowser控件获取如何获取下面这网页元素的值
然后在vb.net的webbrowser中加载这个test.html,加载完毕后点击一个按钮获取input的value值,实现代码如下:' 此方法为Form1的加载事件 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' 加载本地文档test.html WebBrowser1.Url = New Uri(String.Format("file:\/\/...

vb.net的Webbrowser1.Document通过GetElementsByTagName("a"),如 ...
另一个简单点的方法是,假如HTML里面有个文本框是 则VB.NET里写 text=web.Document.GetElementById("TESTID").GetAttribute("value")则得到text="TEXTBOX"

用Webbrowser怎么实现获取网页内容并自动点击?(VB.NET)
HtmlDocument doca = this.webBrowser1.Document; \/\/把当前的webBrowser1显示的文档实例化成一个HtmlDocument对象 for (int i = 0; i < doca.All.Count; i++) \/\/循环查找这个对象的每一个元素 { if (doca.All[i].TagName == "A") \/\/如果这个元素是A { HtmlElement myelement ...

VB.net中如何获取WebBrowser网页中的框架网页的内容
HtmlDocument doc= webBrowser1.Document.Window.Frames["frame1"].Document;HtmlElement el= doc.GetElementById("input的ID");el.SetAttribute("value","111");

如何使用vb.net来解析网页源代码,最终获取所需数据
使用webbrowser控件来加载网页,然后再 Private Sub WebBrowser1_DocumentCompleted下通过使用WebBrowser1.Document.Body.InnerHtml 来获取网页的源代码,或使用 WebBrowser1.Document.Body.InnerText来获取网页中的文本。之后可以通过字符串控制指令或者正则表达式来精确获取到你所需的数据。

vb.net获取webbrowser网页中所点击的链接的文字
Sub Main() Dim cl As New WebClient Dim all As String = cl.DownloadString("http:\/\/zhidao.baidu.com\/new?word=&ie=GBK") Console.WriteLine(all) Console.ReadLine() End Sub具体要获取某种类型的元素,可以用正则表达式。

如何用vb.net获得网页的源代码
httpReq.KeepAlive = False ' 获取或设置一个值,该值指示是否与 Internet资源建立持久连接。Dim reader As StreamReader = _New StreamReader(httpResp.GetResponseStream,System.Text.Encoding.GetEncoding(-0))Dim respHTML As String = reader.ReadToEnd() 'respHTML就是网页源代码 ...

【高手进】vb.net webbrowser赋值问题
那是内网或本地地址,别人访问不了的。你起码应该把代码写出来。通过webbrower的HtmlDocument获取到元素后,不能用.value赋值,而是SetAttribute方法

vb.net向webbrowser执行javascript代码进行翻页,如何读翻页后的数据
下面,我们就针对上面的函数,让其在网页载入的时候自动运行!①第一种方法 将如上代码改为:<SCRIPT LANGUAGE="JavaScript"> functionn MyAutoRun(){ \/\/以下是您的函数的代码,请自行修改先!alert("函数自动执行哦!");} window.onload=MyAutoRun();\/\/仅需要加这一句 <\/SCRIPT> ②第二种方法 ...

VB.NET 获取网页 表格
主要是对htmlDocument对像的操作,我发现htmlDocument对象可以通过body.InnerHtml载入html文本也能解析,这样比webBrowser1方便,因为是同步的。'你试试用webClient的downloadString下载网页文本,然后赋给htmlDocument对象下的body.InnerHtml。'上面只是代码例子,只供参考。用ie打开,某些浏览器可能不支持。

相似回答