查找联系人url里面id=的值是多少,用VB webbrowser  <div class="mtitle"><div class="mtitle-row">&nbsp;</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>

解决方案 »

  1.   

    正则表达式   .*id=(.*?)&.*联系人.*
    提取         $1得出865
      

  2.   

    你找到它想做什么呢?它不唯一,找到也没用,呵呵。如果你真的一定要找出来,用上个帖子里15楼的方法,
    只不过把o.click换成debug.print o.id就找到了话说回来,如果真有唯一的ID我也不会那么费劲的循环找联系人哈~~
      

  3.   

    4楼回复作废,没看清题意,汗~~
    ======================================
    用上个帖子里15楼的方法,
    只不过把o.click换成debug.print o.url,然后在解析那个字符串就找到了 
      

  4.   

    高手,你终于来了,再帮我改个代码。因为ID每次都不是一样的。所以要找到它。
    dim o for each o in webbrowser.document.getElementsByTagName("SPAN") 
      if instr(o.innerText,"联系人")>0 then 
        o.click:    exit for 
      end if 
    next
      

  5.   

    dim o,url$,id%,arr$()
    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"解析
      

  6.   

     url = o.url:  Exit For
    实时错误“438”
    对像不支持该属性域方法
      

  7.   

    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
    arr=split(s,"$")
    id=val(arr(元素下标))'这个下标自己找找规律,你上面的例子里是2
    'id=val(arr(2))
    如果连url参数也没规律,那参数名c_id每次变化吗?不变化就找"c_id"解析
      

  8.   

    以下是整个页面的代码!

    按上楼代码:
    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">&nbsp;</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>
      

  9.   

    url参数是有规律,每次一样。只是URL  ID值会变
      

  10.   

    问题出在双引号上了,这样:
    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)) 
      

  11.   

    分隔符错了,今天真是。。:
    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)
      

  12.   

    id = Split(arr(2), "=")(1)还是下标越界
      

  13.   

    id = Split(arr(2), "=")(1) 还是下标越界 
      

  14.   

    s=replace(s,"""","")'替换掉双引号应该就可以了
    arr=split(s,"&")
    id=split(arr(2),"=")(1) 
    ------------------------------>加调试信息:
    s=replace(s,"""","")
    debug.print sarr=split(s,"&")
    .pridebugnt arr(2)id=split(arr(2),"=")(1) 
    你把打印出的调试信息贴出来
      

  15.   

    .pridebugnt arr(2) 
    提示:无效不合格的引用
      

  16.   

    哈哈。我今天不该来这里回帖,出太多错了,惭愧中~~~~
    .pridebugnt arr(2)'我打字的时候光标乱跑造成错误
    ------------->换成
    debug.print arr(2)
      

  17.   

    还是下标越界!WebBrowser1.Navigate "http://192.168.1.90/ecrm/crm/roll/std/main.jsp?back=list&id=865"
    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
      

  18.   

    加个On Error Resume Next搞定各位还有什么方法吗??