我想模拟点击一个网站的连接(需要知道他的名字与连接名,他的结构如以下:"aaa 000,"其中aaa是名字,000是一个带连接的标识).但他网站几乎都是用java script构成的.
他在网页最顶定义了所有的机构(一个涵数),然后在连接处用统一的连接,后面加了个onclick事件,我想了很多方法都不知道如何解决,希望你能帮忙.结构如下:
m[1]=new Array('#ff0000','aaaa','103345','1','bbbb','ccc
asia[1]=new Array(1,'0','0','0','0','0800','0850','odds1','odds3',0);连接如下:
<a href=\"javascript:void(0);\" onclick=\"odds_bet('asia','"+m[i][2]+"','2','"+m[i][4]+"','"+m[i][5]+"','"+m[i][1]+"','"+asia[i][1]+"','"+asia[i][6]+"','"+asia[i][2]+"');\" class="+asia[i][8]+"><span id=\"asia_down_odds_"+m[i][2]+"\">"+asia[i][6]+"</span></a>"

解决方案 »

  1.   

    set xxx=webbrowser1.document.getElementsByTagName("a")
    for i=0 to xxx.length-1
      xxx(i).click
    next
      

  2.   

    真不好意思,我的表达能力有点不太强.要求:
    aaa  000 111 222 
    bbb  000 111 222
    ccc  000 111 222
    .......
    以上是页面,数字均有连接.
    我的要求是通过得到aaa,bbb,那些东西后判断我要点那个连接.一般的HTML网页要实现这个一点都不难.关键他现在网页上不是用HTML组成的,是有js组成.
    就像我开始所说,他每个页面LOAD回来都在最顶有了个固定的加载格式(JS),他里面把每行的AAA,000,111,222都首先加载好,然后下面所有连接都是一个onclick事件来判断,通过用户所点的来判断实现去那个连接.现在我用了很多方法,都无法正确的判断应该怎样知道怎样去点那个连接.这样说你明白了没?
      

  3.   

    然后下面所有连接都是一个onclick事件来判断---
    直接调用他的这个函数就好了嘛-_-
      

  4.   

    用flashget下载它的js
    然后看它的odds_bet函数是怎么写的
      

  5.   

    click 方法会触发onclick事件你要的结果是不是onclick就够了??还是onclick后需要知道什么?
      

  6.   

    这些天,我接个项目在onsite 比较忙8好意思
      

  7.   

    这种问题只不过是在找个规律罢了,比较简单的。如果站点的逻辑复杂度高,花的时候就比较多。关于楼主所说的问题,我想我还算理解。也就是用js生成的一个容器内的HTML,来得到hyperlink或者如果能得到一个fireEvent几种方法,一是分析得到link,二个寻找这个element来触发eventHandler
      

  8.   

    得到hyperlink或者如果能得到一个fireEvent
    这个就需要知道js的源码,然后进行分析在vb版看你一个绿角还真不太适应。。
      

  9.   

    呵呵~我说的意思可能没有准确的表示清楚。fireevent如果没有ID之类的,
    甚至可以为了方便,自己生成一个类似的hyperlink,再调用click。如把html放入内存,需要时调用出来用insertAdjacentHTML
    因为现在我也做了一个有此功能的application。分析源码是一个方法,用你的遍历方法也是一个
    所以我说的如果站点的逻辑复杂度高,花的时间就比较多。webbrowser操作很大程度就是DHTML操作,对吧兔子,这个我就熟了。呵呵顺便问一下兔子,VB多线程有什么好的组件信息没有,最好是....不要money的:D,我已经找到了几个,都价格都比较高...
      

  10.   

    上一个项目写windows service直接用的vc.net写的多线。。发现挺好玩的。
      

  11.   

    唉~~别提了,当初还以为是个小东东,现在程序都写完了,发现不用多线程,吃不消~,下一版再用vc写了,c#就是怕麻烦用.netframework还得客户端装上。我封装了api作thread,也是用起来不方便...所以只能用组件,或者COM吧,组件如果方便的话,我还是愿意花点money的,就是价格不要太贵。
      

  12.   

    回答兔子10楼的问题....
    我知道click 方法会触发onclick事件,但问题是我需要在click前就知道里面的值,我才会执行click这操作!~
      

  13.   

    不会先分析么
    IHTMLAnchorElement ae = extendedWebBrowser1.GetLinkByHref("popupEligiNewRT");
    if (ae != null)
    {
    string href = ae.href;
    href = href.Substring(
    href.IndexOf("("));
    String delim = "()";
    href = href.Trim(delim.ToCharArray());
    string[] parameters = href.Split(",".ToCharArray());
    delim = "'";
    string name = parameters[0].Trim(delim.ToCharArray());
    string opt = parameters[1].Trim(delim.ToCharArray());
    string form = parameters[2].Trim(delim.ToCharArray());
      

  14.   

    jiangsheng的是.NET么??
    可否用纯VB写一次....我对DHTML不熟...不懂得如何去分析数据!!!