查找联系人url里面id=的值是多少,用VB webbrowser <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>
<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>
提取 $1得出865
只不过把o.click换成debug.print o.id就找到了话说回来,如果真有唯一的ID我也不会那么费劲的循环找联系人哈~~
======================================
用上个帖子里15楼的方法,
只不过把o.click换成debug.print o.url,然后在解析那个字符串就找到了
dim o for each o in webbrowser.document.getElementsByTagName("SPAN")
if instr(o.innerText,"联系人")>0 then
o.click: exit for
end if
next
for each o in webbrowser.document.getElementsByTagName("SPAN")
if instr(o.innerText,"联系人")>0 then
url=o.url: exit for
end if
next
arr=split(url,"$")
id=val(arr(元素下标))'这个下标自己找找规律,你上面的例子里是2
'id=val(arr(2))
如果连url参数也没规律,那参数名c_id每次变化吗?不变化就找"c_id"解析
实时错误“438”
对像不支持该属性域方法
for each o in webbrowser.document.getElementsByTagName("SPAN")
if instr(o.innerText,"联系人")>0 then
s=o.outerHTML: exit for
end if
next
arr=split(s,"$")
id=val(arr(元素下标))'这个下标自己找找规律,你上面的例子里是2
'id=val(arr(2))
如果连url参数也没规律,那参数名c_id每次变化吗?不变化就找"c_id"解析
按上楼代码:
id = Val(arr(2))
实时错误9
下标越界<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<link href="/ecrm/ui/blue/style_cn.css" rel="stylesheet" type="text/css">
<link href="/ecrm/ui/js/jscalendar/calendar-win2k-cold-1.css" rel="stylesheet" type="text/css">
<script src="/ecrm/ui/js/global.js" type="text/javascript"></script>
<script src="/ecrm/ui/js/win.js" type="text/javascript"></script>
<script src="/ecrm/ui/js/check.js" type="text/javascript"></script>
<script src="/ecrm/ui/js/opform.js" type="text/javascript"></script>
<script src="/ecrm/ui/js/jscalendar/calendar.js" type="text/javascript"></script>
<script src="/ecrm/ui/js/jscalendar/calendar-en.js" type="text/javascript"></script>
<script src="/ecrm/ui/js/jscalendar/calendar-setup.js" type="text/javascript"></script>
<script src="/ecrm/ui/js/menu.js" type="text/javascript"></script>
<script src="/ecrm/ui/js/popshow.js" type="text/javascript"></script><style>
/* title */
#mtitle {
background: #7B91A8 url(mtitle_bg.jpg) repeat;
width:100%;
line-height:27px;
padding:0 0 0 5px;
font-size:12px;
color:#FFFFFF;
font-weight:bold;
height:26px;
}
#mtitle-row {
background:url(mtitle_arrow.jpg) no-repeat left center;
float:left;
padding-left:10px;
}
#mtitle_selected {
cursor:pointer;
FONT-SIZE: 12px;
COLOR: #FF0000;
border-bottom:solid #FFFFFF 5px;
padding: 4px 10px 0 10px;
margin: 0 0 0 0;
background-color:#FFFFFF;
}
#mtitle_noselect {
cursor:pointer;
FONT-SIZE: 12px;
COLOR: #ffffff;
border-bottom:none;
margin: 0 0 0 0;
padding: 0 10px 0 10px;
}
#morebox {
width:100px;
border:1px solid #CCCCCC;
overflow-x:hidden;
background-color:#F0F7FF;
position:absolute;
left:0px;
top:0px;
z-index:10;
display:none;
}
#morebox ul,li {
padding:0px;
margin:0px;
list-style-type:none;
list-style-position:inside;
border-bottom:1px solid #CCCCCC;
background-color:#F0F7FF;
}
</style>
<script>
function mtitleChange(source)
{
if(source.id!="menu_selected"){
document.getElementById("menu_selected").className="menu_noselect";
document.getElementById("menu_selected").id="menu_noselect";
source.id="menu_selected";
document.getElementById("menu_selected").className="menu_selected";
}
var url = source.url;
window.frames["mtiframe"].location = url;
}
function autoFrameHeight(name,def) {
var iframe = document.getElementById(name);
if(def == undefined)
def = 480; //set default height
if(iframe.readyState == "complete") {
var height = eval(name).document.body.scrollHeight;
if(height<def)
height = def;
height += 20;
iframe.style.height=height+"px";
}
}
function getAbsolutePos(el) {
var SL = 0, ST = 0;
var is_div = /^div$/i.test(el.tagName);
if (is_div && el.scrollLeft)
SL = el.scrollLeft;
if (is_div && el.scrollTop)
ST = el.scrollTop;
var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
if (el.offsetParent) {
var tmp = this.getAbsolutePos(el.offsetParent);
r.x += tmp.x;
r.y += tmp.y;
}
return r;
}function showMoreBox(btn) {
var morebox = document.getElementById("morebox");
var r = getAbsolutePos(btn);
morebox.style.top = r.y+22;
morebox.style.left = r.x;
if(morebox.style.display == "none" || morebox.style.display=="")
morebox.style.display = "block";
else
morebox.style.display = "none";
}
function hideMoreBox() {
morebox.style.display = "none";
}
function do_backList(url){
forward(url);
}
function goConvert(url){
forward(url);
}
function goUnless(url){
OpenWin(url,'',480,200);
}
function goFreeze(url){
OpenWin(url,'',480,200);
}
function goChangePerson(url){
OpenWin(url,'',480,240);
}
function goUnless2(url){
OpenWin(url,'',480,200);
}
function goFreeze2(url){
OpenWin(url,'',480,200);
}
function goChangePerson2(url){
OpenWin(url,'',480,240);
}
</script>
</head>
<body>
<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>
<br> <iframe width="100%" frameborder="0" id="mtiframe" scrolling="no" name="mtiframe" src="/ecrm/crm/roll/roll.do?method=load&back=list&id=865&isFrom=&savemes=N" onreadystatechange="autoFrameHeight('mtiframe')"></iframe></body>
</html>
dim o,s$,id%,arr$()
for each o in webbrowser.document.getElementsByTagName("SPAN")
if instr(o.innerText,"联系人")>0 then
s=o.outerHTML: exit for
end if
next
s=replace(s,"""","")'替换掉双引号应该就可以了
arr=split(s,"$")
id=val(arr(元素下标))'这个下标自己找找规律,你上面的例子里是2
'id=val(arr(2))
dim o,s$,id%,arr$()
for each o in webbrowser.document.getElementsByTagName("SPAN")
if instr(o.innerText,"联系人")>0 then
s=o.outerHTML: exit for
end if
next
s=replace(s,"""","")'替换掉双引号应该就可以了
arr=split(s,"&")
id=split(arr(2),"=")(1)
arr=split(s,"&")
id=split(arr(2),"=")(1)
------------------------------>加调试信息:
s=replace(s,"""","")
debug.print sarr=split(s,"&")
.pridebugnt arr(2)id=split(arr(2),"=")(1)
你把打印出的调试信息贴出来
提示:无效不合格的引用
.pridebugnt arr(2)'我打字的时候光标乱跑造成错误
------------->换成
debug.print arr(2)
Dim o, s$, id%, arr$()
For Each o In WebBrowser1.Document.getElementsByTagName("SPAN")
If InStr(o.innerText, "联系人") > 0 Then
s = o.outerHTML: Exit For
End If
Next
s = Replace(s, """", "") '替换掉双引号应该就可以了
Debug.Print s
arr = Split(s, "&")
Debug.Print arr(2)
id = Split(arr(2), "=")(1)
MsgBox id