
正文
vb.net网页元素 vbs操作网页
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
vb.net使用 webbrowser显示网页,如何读取特定节点的数据
首先:鼠标API函数
[DllImport("User32")]
public extern static void mouse_event(int dwFlags, int dx, int dy, int dwData, IntPtr dwExtraInfo);
[DllImport("User32")]
public extern static void SetCursorPos(int x, int y);
[DllImport("User32")]
public extern static bool GetCursorPos(out POINT p);
public struct POINT
{
public int X;
public int Y;
}
public enum MouseEventFlags
{
Move = 0x0001,
LeftDown = 0x0002,
LeftUp = 0x0004,
RightDown = 0x0008,
RightUp = 0x0010,
MiddleDown = 0x0020,
MiddleUp = 0x0040,
Wheel = 0x0800,
Absolute = 0x8000
}
其次:载入webBrowser
private void FormBrower_Load(object sender, EventArgs e)
{
webBrowser.Navigate("");
}
接着:根据鼠标API获取到X,Y坐标区域。。
如何通过鼠标点击,获取的区域,导出网页元素的XPATH?
解析步骤:
创建一个HtmlElment2的getBoundingClientRect方法得到元素矩形(Rect),即元素Webbrowser位置。再通过offsetTop, .offsetLeft, .offsetWidth, .offsetHeight四个属性,获取绝对位置。
我知道,WebBrowser.document.activeElement.ID能够获取到某元素的ID。
但是,,如何获取到网页元素的XPATH,始终搞不出来。。。
相关问答
Q1: VB.net webBrowser控件获取如何获取下面这网页元素的值
我将你的上面的html代码复制到一个test.html文件中
html
head
titleTest 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("{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
Q2: VB.NET webBrowser 怎么改网页元素的VALUE值 和点击BUTTON
For Each h_e As HtmlElement In WebBrowser1.Document.GetElementsByTagName("Value")
h_e.OuterText = "修改后vb.net网页元素的值"
Next
是执行buttonvb.net网页元素的click事件吗?不过要知道button的id才可以。
webbrowser1.Document.GetElementById(button的id).InvokeMember("click");
Q3: VB.net如何修改网页中style或者DIV里的元素
在你的工程中引用Microsoft Script Control 1.0 这个COM组件(注意是COM的,不要到.net组件里去找)
然后用下面的方法执行JavaScript:
Dim sc As New MSScriptControl.ScriptControl
sc.Language = "JavaScript" '设置语言种类
sc.AddCode("function TestFunc(){return 'Hello world!'}") '添加脚本代码
MsgBox(sc.Run("TestFunc")) '显示一下那段脚本的返回值(这里你将看到Hello world!字符)
虽然这个人的回答出来了但是没有解决你的问题,以上是我补充的如何使用脚本。
关于vb.net网页元素和vbs操作网页的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






