用webbrowser填写input比较简单,现在遇到了这样一个难题:
当要选择省市的时候,必须先选择好省之后才选择市,如果直接用
WebBrowser1.Document.getElementsByName("provincelist").Item(0).selectedIndex = Int(Rnd * 32 + 1)
WebBrowser1.Document.getElementsByName("citylist").Item(0).selectedIndex = 1
得出的结果是只有省,而没有市.也就是说要先触发script事件
源码地址:中国白领婚姻在线http://www.love175.com/User/User_Reg.aspx
<script type="text/javascript" language="javascript">
//-------------城市列表清单----------------------
var p=new Array();
var c=new Array();
p[0]='北京市';c[0]='东城区';
p[1]='北京市';c[1]='西城区';
................
<select onchange="SetCity('provincelist','citylist','choose')
请问具体如何操作,请真正的高手给段具体的代码,不要引用一个网页忽优人,三克油

解决方案 »

  1.   

    是不我没有表达清楚还是CSDN里面没有高手呢?失望
      

  2.   

    Private Sub Command1_Click()
    WebBrowser1.Document.getElementsByName("provincelist").Item(0).selectedIndex = Int(Rnd * 32 + 1)
    WebBrowser1.Document.parentWindow.execScript "SetCity('provincelist','citylist',0)", "JScript"
    WebBrowser1.Document.getElementsByName("citylist").Item(0).selectedIndex = 6
    End Sub
      

  3.   

    楼上的,你自己测试了吗?我这里显示的是80020101错误,无法执行,加on error resume next 也不行,还是只填省不填市
    我用的是XP sp2+Vb6,不知道是不是跟你的测试平台不一样
      

  4.   

    Dim kk
    WebBrowser1.Document.getElementsByName("provincelist").Item(0).selectedIndex = Int(Rnd * 32 + 1)
    Set kk = WebBrowser1.Document.getElementsByName("provincelist")
    kk(0).onchange
    'WebBrowser1.Document.parentWindow.execScript "SetCity( 'provincelist ', 'citylist ',0)", "JScript"
    WebBrowser1.Document.getElementsByName("citylist").Item(0).selectedIndex = 6
      

  5.   

    Private Sub Command1_Click()
    WebBrowser1.Navigate "http://www.love175.com/User/User_Reg.aspx"
    End SubPrivate Sub WebBrowser1_DownloadComplete()
    On Error GoTo t
    If WebBrowser1.LocationURL <> "" Then
        WebBrowser1.Document.getElementsByName("provincelist").Item(0).selectedIndex = Int(Rnd * 32 + 1)
        WebBrowser1.Document.getElementsByName("citylist").Item(0).selectedIndex = 1
        WebBrowser1.Document.getElementsByName("provincelist").Item(0).selectedIndex = Int(Rnd * 32 + 1)
        WebBrowser1.Document.getElementsByName("provincelist").Item(0).onchange
        WebBrowser1.Document.getElementsByName("citylist").Item(0).selectedIndex = 6
    End If
    Exit Sub
    t: MsgBox Err.Description
    End Sub
      

  6.   

    WebBrowser1.Document.getElementsByName("citylist").Item(0).selectedIndex = 1
    这句没有必要