获取网站的坐标

来源:百度知道 编辑:UC知道 时间:2024/06/15 04:54:27
Private Sub Form_Load()
WebBrowser1.Navigate "www.baidu.com"
End Sub
打开了百度网站
我想点击WebBrowser1上的的随便一个位置
都可以获得该点的坐标

由于js不能和vb直接通讯,所以我们可以换一下思路

在WebBrowser1加载完网页的时候在网上注入一段js代码,来绑定鼠标按下事件,并通过页面转向的方式(一个自定义的url)来传递给vb,因为WebBrowser1在离开当前页面前会触发WebBrowser1_BeforeNavigate2事件,我们可以在WebBrowser1_BeforeNavigate2中检测url,如果是自定义的,就分析xy
以下代码在vb6中通过测试

Option Explicit

Private Sub Form_Load()
WebBrowser1.Navigate "www.baidu.com"
End Sub

Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)

    '判断将要打开的网页的url,如果是我们自定义的mouse://协议,就进行处理
    If Left(URL, 8) = "mouse://" Then
        '让网页不要跳转
        Cancel = True
        Dim tmp, x, y
 &n