如何使用webbrowser控件获取目标页面登陆后执行ajax后的返回内容

如何使用webbrowser控件获取目标页面登陆后执行ajax后的返回内容,第1张

线程等待

//写在窗口类构造方法

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控件网页的表格内容导入数据表中。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9483942.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存