找回密码
 加入
搜索
查看: 2153|回复: 8

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

[复制链接]
发表于 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[8]
$avArray[5]="0"
$avArray[1]="1"
$avArray[2]="5"
$avArray[3]="6"
$avArray[4]="8"
$avArray[0]="9"
$avArray[6]="2"
$avArray[7]="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

评分

参与人数 1金钱 +5 收起 理由
likeask + 5

查看全部评分

发表于 2009-8-14 21:48:06 | 显示全部楼层
本帖最后由 lynfr8 于 2009-8-14 23:17 编辑



编译好的演示程序:

解决代码:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +5 收起 理由
likeask + 5

查看全部评分

 楼主| 发表于 2009-8-14 22:09:18 | 显示全部楼层
感谢楼上,我也是加载了一个sleep解决的,不过遮掩并不好,因为网速快的时候这样很浪费时间,网速慢的时候,根本打不开结果页面。所以现在需要一个_IELoadWait函数,但是不知道_IELoadWait哪个才对。
发表于 2009-8-14 22:14:19 | 显示全部楼层
_IELoadWait对于跳转的网页无效的
暂时只能这样了
可以去掉msgbox
然后未注册的域名就写入文档
放到服务器上慢慢收集
有些事,还是急不来的
发表于 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检查关键词是行不通的


----------------以上论断是错误的,特此声明!
 楼主| 发表于 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

错误,是可以的,你可以试一试这个:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-8-14 23:11:50 | 显示全部楼层
的确是可以的
原来是自己错了
向楼主致敬!!!
今天分加光了
明天把大洋还给你
 楼主| 发表于 2009-8-14 23:21:03 | 显示全部楼层
的确是可以的
原来是自己错了
向楼主致敬!!!
今天分加光了
明天把大洋还给你
lynfr8 发表于 2009-8-14 23:11

害的多谢你参与呢,不用还大洋的。帮我再看看这个吧:
http://www.autoitx.com/forum.php ... &extra=page%3D4
 楼主| 发表于 2009-8-14 23:32:32 | 显示全部楼层
回头重写gui就是一个好软件啦。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-15 22:41 , Processed in 0.083740 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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