线程等待
//写在窗口类构造方法里
browserDocumentCompleted+=new SystemWindowsFormsWebBrowserDocumentCompletedEventHandler(browser_DocumentComoleted);
//browserIsbusy浏览器是否在加载新文档
///写在browser_DocumentComoleted事件里。如果需要,价格条件判断
while(browserIsBusy)
{
ApplicationDoEvents();
ThreadSleep(100);
}
我将你的上面的html代码复制到一个testhtml文件中
<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>
然后在vbnet的webbrowser中加载这个testhtml,加载完毕后点击一个按钮获取input的value值,实现代码如下:
' 此方法为Form1的加载事件
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBaseLoad
' 加载本地文档testhtml
WebBrowser1Url = New Uri(StringFormat("file:///{0}/testhtml", ApplicationStartupPath))
' 文档没有加载完毕之前将按钮禁用
Button1Enabled = False
End Sub
' 此方法为Button1的Click事件
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1Click
Dim doc As HtmlDocument = WebBrowser1Document
' 查找ID为txtCSRQ的元素
Dim element As HtmlElement = docGetElementById("txtCSRQ")
' 如果找到了改元素
If element IsNot Nothing Then
' 显示该元素的值
MessageBoxShow(elementGetAttribute("value"))
End If
End Sub
' 此方法为WebBrowser的DocomentCompleted事件
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1DocumentCompleted
' 文档testhtml加载完毕后,使按钮可用
Button1Enabled = True
End Sub
Option Explicit
'需要添加一个webbrowser控件 和一个按钮
'引用两个库,在菜单的工程-引用里,找到Microsoft HTML object library和 Microsoft activex data object 25/26两个库,然后粘贴如下代码
'不明白的百度HI我
Private Sub Command1_Click()
WebBrowser1Navigate ">
使用WebBrowser控件获取网页源码的方法,大多数的人都是使用以下的方法获取:
(WebBrowser1Document as IHtmlDocument2)bodyouterHtml;
这种方法的美中不足就是只能获取网页<body>与</body>之间的网页源码,而<body>之外如<head>部分的网页源码就获取不到了,下面是某大牛老师给大家分享的方法,可参考:
procedure TForm1Button1Click(Sender: TObject);
var
ole_index, oleObj: OleVariant;
i: integer;
begin
if WebBrowser1Busy then Exit; //网页加载中,退出。
Memo1LinesClear;
//获取主框架网址及网页源码
Memo1LinesAdd(WebBrowser1OleObjectdocumenturl);
Memo1LinesAdd(WebBrowser1OleObjectdocumentdocumentElementouterHTML);
Memo1LinesAdd(' '); Memo1LinesAdd(' '); //添加空行
//循环获取每一个子框架网址及网页源码
for i := 0 to WebBrowser1OleObjectdocumentframeslength - 1 do
begin
ole_index := i;
oleObj := WebBrowser1OleObjectdocumentframesitem(ole_index);
Memo1LinesAdd(oleObjdocumenturl);
Memo1LinesAdd(oleObjdocumentdocumentElementouterHtml);
Memo1LinesAdd(' '); Memo1LinesAdd(' '); //添加空行
end;
end;
C# code
private void FormBrower_Load(object sender, EventArgs e)
{
webBrowserNavigate(">
vb webbrowser控件取得网页中的控件的值的方法是:
set vDoc=webbrowser1document
msgbox vdocallyui-gen50InnerText
msgbox vdocallyui-gen48InnerText
“我在程序中加入PictureBox控件,将其ImageLocation属性指向为>
以上就是关于如何使用webbrowser控件获取目标页面登陆后执行ajax后的返回内容全部的内容,包括:如何使用webbrowser控件获取目标页面登陆后执行ajax后的返回内容、VB.net webBrowser控件获取如何获取下面这网页元素的值、VB6.0获取webbrowser控件网页的表格内容导入数据表中。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)