bd540 发表于 2009-8-14 19:45:34

就问题没解决,又来新问题:如何获取跳转之后页面的文字信息?

例如下例我就获取不到。应该有点小错误,高手指正一下:#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_outfile=dom.exe
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#include <Array.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 839, 496, 192, 124)
Local $avArray
$avArray="0"
$avArray="1"
$avArray="5"
$avArray="6"
$avArray="8"
$avArray="9"
$avArray="2"
$avArray="3"
$oIE = ObjCreate("Shell.Explorer.2")
$GUIActiveX = GUICtrlCreateObj($oIE, 16, 16, 813, 413)
$Button1 = GUICtrlCreateButton("Button1", 32, 444, 489, 33, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                                $x = Random(0,4, 1)
                                $y = Random(0, 4, 1)
                                $z = Random(0, 4, 1)
                                $e= Random(0, 4, 1)
                                $oIE.navigate("http://4y.cn/reg/domainapp.asp?productcode=domcom")
                                _IELoadWait($oIE)
                                $oForm = _IEFormGetObjByName($oIE, "domainreg")
                                $oQuery = _IEFormElementGetObjByName($oForm, "domainname")
                                _IEFormElementSetValue($oQuery, $avArray[$x] &$avArray[$z] & $avArray[$y])
                                $oQuery = _IEFormElementGetObjByName($oForm, "submit")
                                _IEAction($oQuery, "click")

$sText = _IEBodyReadText($oIE)
if StringInStr($sText,"已被注册,whois查询") then
   msgbox(0,"","找到指定字符串")
endif

        EndSwitch
WEnd

lynfr8 发表于 2009-8-14 21:48:06

本帖最后由 lynfr8 于 2009-8-14 23:17 编辑



编译好的演示程序:

解决代码:

bd540 发表于 2009-8-14 22:09:18

感谢楼上,我也是加载了一个sleep解决的,不过遮掩并不好,因为网速快的时候这样很浪费时间,网速慢的时候,根本打不开结果页面。所以现在需要一个_IELoadWait函数,但是不知道_IELoadWait哪个才对。

lynfr8 发表于 2009-8-14 22:14:19

_IELoadWait对于跳转的网页无效的
暂时只能这样了
可以去掉msgbox
然后未注册的域名就写入文档
放到服务器上慢慢收集
有些事,还是急不来的

lynfr8 发表于 2009-8-14 22:36:19

本帖最后由 lynfr8 于 2009-8-14 23:13 编辑

if StringInStr($sText,"已被注册,whois查询") then
这一行是无法得到结果的
因为跳转到查询结果的网页后,$oIE对象依然还是原来的http://4y.cn/reg/domainapp.asp?productcode=domcom
所以用StringInStr检查关键词是行不通的


----------------以上论断是错误的,特此声明!

bd540 发表于 2009-8-14 22:58:32

if StringInStr($sText,"已被注册,whois查询") then
这一行是无法得到结果的
因为跳转到查询结果的网页后,$oIE对象依然还是原来的http://4y.cn/reg/domainapp.asp?productcode=domcom
所以用StringInStr检查关 ...
lynfr8 发表于 2009-8-14 22:36 http://www.autoitx.com/images/common/back.gif
错误,是可以的,你可以试一试这个:

lynfr8 发表于 2009-8-14 23:11:50

的确是可以的
原来是自己错了
向楼主致敬!!!
今天分加光了
明天把大洋还给你

bd540 发表于 2009-8-14 23:21:03

的确是可以的
原来是自己错了
向楼主致敬!!!
今天分加光了
明天把大洋还给你
lynfr8 发表于 2009-8-14 23:11 http://www.autoitx.com/images/common/back.gif
害的多谢你参与呢,不用还大洋的。帮我再看看这个吧:
http://www.autoitx.com/forum.php?mod=viewthread&tid=8947&extra=page%3D4

bd540 发表于 2009-8-14 23:32:32

回头重写gui就是一个好软件啦。。。
页: [1]
查看完整版本: 就问题没解决,又来新问题:如何获取跳转之后页面的文字信息?