Foxtable(狐表)用户栏目专家坐堂 → [求助]模拟打开网页中的链接


  共有2219人关注过本帖树形打印复制链接

主题:[求助]模拟打开网页中的链接

帅哥哟,离线,有人找我吗?
chnfo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]模拟打开网页中的链接  发帖心情 Post By:2016/5/14 10:53:00 [只看该作者]

Dim web As System.Windows.Forms.WebBrowser = e.Form.Controls("Webbrowser1").BaseControl
Dim elem As System.Windows.Forms.HtmlElement
elem = web.Document.GetElementByID("id名称
")   '查找元素
elem.InvokeMember("click")   '模拟按键

有个问题,我打开了一个网页的源码,里面没有元素的ID,只看到它的名称,例如
<div class="product-btn">
<a href="url1" target="_blank">猛击这里</a>
</div>

这种情况下,如何才能模拟点击“猛击这里”呢?
查到有getelementsbytagname的方法,只是不知道怎么用。
如果换了webkit,方法可能又不同了。
[此贴子已经被作者于2016/5/14 10:56:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/5/14 10:55:00 [只看该作者]

Dim hec As System.Windows.Forms.HtmlElementCollection = web.Document.GetElementsByTagName("A")

For i As Integer = 0 To hec.Count-1
    If hec(i).InnerHtml.Contains("猛击这里") Then
        hec(i).InvokeMember("click")
        Exit For
    End If
Next

 回到顶部
美女呀,离线,留言给我吧!
qianqian1530
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:746 积分:5567 威望:0 精华:0 注册:2013/12/4 8:56:00
  发帖心情 Post By:2016/5/14 10:56:00 [只看该作者]

找class 元素.


 回到顶部
美女呀,离线,留言给我吧!
qianqian1530
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:746 积分:5567 威望:0 精华:0 注册:2013/12/4 8:56:00
  发帖心情 Post By:2016/5/14 11:01:00 [只看该作者]

 

[此贴子已经被作者于2016/5/14 11:01:13编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2016/5/14 11:40:00 [只看该作者]

网页源码:
<div class="product-btn">
<a href="url1" target="_blank">猛击这里</a>
</div>
-----------------------------

Dim hec As System.Windows.Forms.HtmlElementCollection = web.Document.GetElementsByTagName("product-btn")

For i As Integer = 0 To hec.Count-1
    If hec(i).InnerHtml.Contains("猛击这里") Then
        hec(i).InvokeMember("click")
        Exit For
    End If
Next

没有反应…………,这是为何
这是html5的网页,会不会跟这个有关?
[此贴子已经被作者于2016/5/14 11:45:24编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/5/14 14:10:00 [只看该作者]

汗死,不要乱改代码。看2楼

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/15 23:13:00 [只看该作者]

如果你要查找属性,需要这样

 

 
For Each a As object In web.Document.GetElementsByTagName("div")
    If div.GetAttribute("ClassName") = "xxx" Then

        msgbox(div.InnerHtml)

    End If
Next


 回到顶部