vb webbrowser里点击超链接???

wwwyi13cn 2009-08-12 08:23:21
如何点击"联系人"的超链接
注意:联系人的超链接ID值每次都会改变。



<div class="mtitle"><div class="mtitle-row"> </div>

<span id="menu_selected" class="menu_selected" onClick="mtitleChange(this)" url="/ecrm/crm/roll/roll.do?method=load&back=list&id=865&isFrom=">潜在客户资料</span>
<span id="menu_noselect" class="menu_noselect" onClick="mtitleChange(this)" url="/ecrm/crm/roll/linkman/linkman.do?method=search&back=list&c_id=865&isFrom=">联系人</span>
<span id="menu_noselect" class="menu_noselect" onClick="mtitleChange(this)" url="/ecrm/crm/roll/linktouch/linktouch.do?method=search&back=list&c_id=865&isFrom=">联系记录</span>

<span id="menu_noselect" class="menu_noselect" onClick="mtitleChange(this)" url="/ecrm/crm/roll/file/file.do?method=search&back=list&record_id=865&module=company&isFrom=">客户文档</span>
<span id="menu_noselect" class="menu_noselect" onClick="mtitleChange(this)" url="/ecrm/crm/sale/chance/chance.do?method=search&back=list&c_id=865&isFromOther=Y&isFrom=">销售机会</span>
<span id="menu_noselect" class="menu_noselect" onClick="mtitleChange(this)" url="/ecrm/crm/sale/quotedprice/quotedprice.do?method=search&back=list&c_id=865&isFromOther=Y&isFrom=">相关报价</span>
<span id="menu_noselect" class="menu_noselect" onClick="mtitleChange(this)" url="/ecrm/crm/sale/contract/contract.do?method=search&back=list&c_id=865&isFromOther=Y&isFrom=">相关合同</span>
<span id="menu_noselect" class="menu_noselect" onClick="mtitleChange(this)" url="/ecrm/crm/task/other/task.do?method=atelicSearch&back=list&c_id=865&isFrom=">客户-活动</span>
<span id="menu_noselect" class="menu_noselect" onClick="mtitleChange(this)" url="/ecrm/crm/roll/status/status.do?method=list&back=list&c_id=865&c_type=company&isFrom=">状态记录</span>
<span id="menu_noselect" class="menu_noselect" onClick="mtitleChange(this)" url="/ecrm/crm/roll/handle/handle.do?method=list&back=list&c_id=865&c_type=company&isFrom=">经手人记录</span>
</div>



...全文
982 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
toury 2009-08-13
  • 打赏
  • 举报
回复
没关系,呵呵。解决了就好
wwwyi13cn 2009-08-13
  • 打赏
  • 举报
回复
不好意思,经测试15楼是正确的,


dim o

for each o in webbrowser.document.getElementsByTagName("SPAN")
if instr(o.innerText,"联系人")>0 then
o.click: exit for
end if
next


toury 2009-08-13
  • 打赏
  • 举报
回复
for each o in webbrowser.document.getElementsByTagName("SPAN")'设断点,F8
debug.print o.innerText,o.innerHTML'看看哪个出来“联系人”就用哪个
if instr(o.innerText,"联系人")>0 then
o.click: exit for
end if
next
wwwyi13cn 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 toury 的回复:]
今天不是回帖的日子,脑筋转不过来了,呵呵。再试试这个:

dim o

for each o in webbrowser.document.getElementsByTagName("SPAN")
  if instr(o.innerText,"联系人")>0 then
    o.click:    exit for
  end if
next

[/Quote]

没有点联系人超连接,回到原页
wwwyi13cn 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 wwwyi13cn 的回复:]
For i = 0 To UBound(arr)

实时错误“13”
类型不匹配


[/Quote]

没有点联系人超连接,回到原页
toury 2009-08-13
  • 打赏
  • 举报
回复
今天不是回帖的日子,脑筋转不过来了,呵呵。再试试这个:

dim o

for each o in webbrowser.document.getElementsByTagName("SPAN")
if instr(o.innerText,"联系人")>0 then
o.click: exit for
end if
next
wwwyi13cn 2009-08-13
  • 打赏
  • 举报
回复
For i = 0 To UBound(arr)

实时错误“13”
类型不匹配

toury 2009-08-13
  • 打赏
  • 举报
回复
今天是怎么了?总出错:((
dim arr,i%,o as object
arr=webbrowser.document.getElementsByTagName("SPAN")
for i=0 to ubound(arr)
if instr(arr(i).outerHTML,"联系人")>0 then
arr(i).click: exit for
end if
next
toury 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wwwyi13cn 的回复:]
写错了

注意:联系人的超链接url值每次都会改变。
[/Quote]
【url值每次都会改变】:
如果里面有不变的、独特的字符串,可以用8楼的2方法,把linkman换成那个字符串;
如果完全没有规律,只能用8楼的1方法
如果没有权限更改HTML,最后一个办法试一下:
dim arr,i%,o as object
arr=webbrowser.document.getElementsByTag("SPAN")
for i=0 to ubound(arr)
if instr(arr(i).outerHTML,"联系人")>0 then
arr(i).click: exit for
end if
next
toury 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wwwyi13cn 的回复:]
回8楼
arr=webbrowser1.document.getElementsByTag("SPAN")

实时错误“438”

对像不支持属性方法。
[/Quote]
狂汗~~
应该是getElementsByTagName
wwwyi13cn 2009-08-13
  • 打赏
  • 举报
回复
回8楼
arr=webbrowser1.document.getElementsByTag("SPAN")

实时错误“438”

对像不支持属性方法。
wwwyi13cn 2009-08-13
  • 打赏
  • 举报
回复
写错了

注意:联系人的超链接url值每次都会改变。
toury 2009-08-13
  • 打赏
  • 举报
回复
7楼乱写了,看这个:
1、首先顶楼的HTML不规范,标签的ID应该是唯一的,而你的SPAN大部分ID都是menu_noselect,最好改成name=menu_noselect;然后:
dim arr
webbrowser.document.getElementsByName("menu_noselect")(0).click

2、如果无法改动HTML,这样:
dim arr,i%,o as object
arr=webbrowser.document.getElementsByTag("SPAN")
for i=0 to ubound(arr)
if instr(arr(i).url,"linkman")>0 then
arr(i).click: exit for
end if
next
toury 2009-08-13
  • 打赏
  • 举报
回复
昨夜偷懒没拉滚动条看后面内容,汗~

1、首先顶楼的HTML不规范,标签的ID应该是唯一的,而你的SPAN大部分ID都是menu_noselect,最好改成name=menu_noselect;然后:
dim arr
webbrowser.document.getElementsByName("menu_noselect")(0).click

2、如果无法改动HTML,这样:
dim arr,i%,o as object
arr=webbrowser.document.getElementsByTag("SPAN")
for i=0 to ubound(arr)
if instr(arr(i).url,"linkman")>0 then
arr(i).click: exit for
end if
next
bluesky395 2009-08-13
  • 打赏
  • 举报
回复
帮顶。。。
AccessManager 2009-08-13
  • 打赏
  • 举报
回复
找linkman这个关键字不就完了嘛,哇哈哈哈哈哈~
toury 2009-08-13
  • 打赏
  • 举报
回复
联系人是不是selected的那个连接?如果是:
webbrowser.document.getElementById("menu_selected").click
或者:
webbrowser.document.all.menu_selected.click
wwwyi13cn 2009-08-12
  • 打赏
  • 举报
回复
没人理我!555
zydscaline 2009-08-12
  • 打赏
  • 举报
回复
你的问题说的有些太模糊了,把问题详细说下,才有人帮你!

顺便说下,我也不会!
wwwyi13cn 2009-08-12
  • 打赏
  • 举报
回复
ding

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧