找回密码
 加入
搜索
查看: 891|回复: 1

循环冗余问题

[复制链接]
发表于 2009-5-14 15:31:00 | 显示全部楼层 |阅读模式
本帖最后由 jhkdqaa 于 2009-5-20 17:25 编辑

初级代码:
Func asianproduct()
        $UserName = _IEGetObjById($oIE, "client_login_name")
        If IsObj($UserName) Then $UserName.value = "用户名"
        $PassWord = _IEGetObjById($oIE, "client_login_password")
        If IsObj($PassWord) Then $PassWord.value = "密码"
        $submit = _IEGetObjById($oIE, "button")
        If IsObj($submit) Then $submit.click
        _IELoadWait($oIE)
        GUICtrlSetData($Edit, "请稍后,正在操作...")
        _IELoadWait($oIE)
        GUICtrlSetData($Edit, "已登陆")
        $oIE.navigate("http://www.asianproducts.com/member.php")
        _IELoadWait($oIE)
        _IELinkClickByText($oIE, "My online products")
        GUICtrlSetData($Edit, "请稍后,正在更新...")
        _IELoadWait($oIE)
        $oimgs = _IEImgGetCollection($oIE)
        $iNumimg = @extended
        dim $imglist[$iNumimg]
        dim $i = 0
        for $i = 0 to(@extended - 1)
                $imglist[$i] = _IEImgGetCollection($oIE, $i)
                $oimgclick = $imglist[$i]
                if $oimgclick.src = "http://www.asianproducts.com/clientAdmin/images/big_icon3_smaller.gif" then
                        _IEAction($oimgclick, "click")
                        _IELoadWait($oIE)
                        _IEImgClick($oIE, "http://www.asianproducts.com/clientAdmin/images/save_data1.gif", "src")
                        _IELoadWait($oIE)
                        _IELinkClickByText($oIE, "My online products")
                        _IELoadWait($oIE)
                EndIf
        next
EndFunc
运行正常。
给他加载数据库怎么怎么以后就冗余了,老是在遍历,还重复的。
冗余的代码:
Func asianproduct()
        $conn = ObjCreate("ADODB.Connection")
        $rs = ObjCreate("ADODB.Recordset")
        $conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $dbname & ";Jet Oledb:Database ")
        $rs.ActiveConnection = $conn
        $rs.Open("Select * From allcustomer where website = 'asianproducts'")
        while Not $rs.eof And Not $rs.bof
                if @error = 1 Then ExitLoop
                $p = $rs.Fields(3).value
                $UserName = _IEGetObjById($oIE, "client_login_name")
                If IsObj($UserName) Then $UserName.value = $rs.Fields(1).value
                $PassWord = _IEGetObjById($oIE, "client_login_password")
                If IsObj($PassWord) Then $PassWord.value = $rs.Fields(2).value
                $submit = _IEGetObjById($oIE, "button")
                If IsObj($submit) Then $submit.click
                _IELoadWait($oIE)
                GUICtrlSetData($Edit, "请稍后,正在操作...")
                _IELoadWait($oIE)
                GUICtrlSetData($Edit, "已登陆")
                $oIE.navigate("http://www.asianproducts.com/member.php")
                _IELoadWait($oIE)
                _IELinkClickByText($oIE, "My online products")
                _IELoadWait($oIE)
                $URl = _IEPropertyGet($oIE, "locationurl")
                GUICtrlSetData($Edit, "请稍后,正在更新...")
                for $j = 1 to $p
                                              $Url = $URl
                        if $j > 1 then
                                $Url = StringReplace($Url, "showonline", "showonline&page=" & $j)
                        EndIf
                        _IENavigate($oIE, $Url)
                        _IELoadWait($oIE)
                        $oimgs = _IEImgGetCollection($oIE)
                        $iNumimg = @extended
                        dim $imglist[$iNumimg]
                        $i = 0
                        for $i = 0 to(@extended - 1)
                                $imglist[$i] = _IEImgGetCollection($oIE, $i)
                                $oimgclick = $imglist[$i]
                                if $oimgclick.src = "http://www.asianproducts.com/clientAdmin/images/big_icon3_smaller.gif" then
                                        _IEAction($oimgclick, "click")
                                        _IELoadWait($oIE)
                                        _IEImgClick($oIE, "http://www.asianproducts.com/clientAdmin/images/save_data1.gif", "src")
                                        _IELoadWait($oIE)
                                        _IENavigate($oIE, $Url)
                                        _IELoadWait($oIE)
                                EndIf
                        next
                next
                _IELinkClickByText($oIE, "Sign Out")
                _IELoadWait($oIE)
                $rs.movenext
        WEnd
        $rs.close
        $conn.Close
EndFunc
拜托高手教导下
 楼主| 发表于 2009-5-20 17:24:53 | 显示全部楼层
自己解决了,没有循环冗余。是退出那个点击没有起效,牛X的网站。sign out本不存在,那个位置不过是文本sign in而已。用js生成的网址和文本 覆盖显示在那个位置,买糕的,终于弄好了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-10 12:44 , Processed in 0.076537 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表