(已解决)autoit采集网页数据(非IE浏览器打开)
本帖最后由 lorrell 于 2014-4-16 09:53 编辑1、比如说用chrome浏览器打开这个网站http://html5test.com/(如上图),我想要获取打开网页之后的score505这个结果值,保存到文本里,应该采用哪个函数呢;下边这个代码获取的结果值为什么不对呢
Local $hDownload = InetGet("http://html5test.com/", @DesktopDir & '\html5test.html', 1, 1)
Do
Sleep(250)
Until InetGetInfo($hDownload, 2)
Local $aData = InetGetInfo($hDownload)
InetClose($hDownload)
FileWriteLine("score.txt","Score: " & $aData & @CRLF)
2、如果不固定浏览器,两个浏览器同时打开这个网站,然后把SCORE值自动保存到文本里,可以实现吗? {:face (396):}都木有人回答吗 InetGetInfo
返回一个由InetGet()函数返回的句柄的详细信息.
InetGetInfo( [ 句柄 [, 索引 ]] )
参数
句柄 [可选参数] 由 InetGet() 函数返回的句柄.
索引 [可选参数] 要返回的数据索引. 如果索引为 -1 ,将返回包含下列所有值的数组.
0 - 读取字节数 (这是一个在下载时不断更新的数字).
1 - 要下载的文件的大小(不一定有效).
2 - 如果值为 True 则下载完成, False 为下载正在进行.
3 - 如果值为 True 则下载成功完成. False 为下一数据成员将会是非0.
4 - 下载错误值. 这些值可能是任意的,判断这些值是不是非0来决定是不是发生了错误.
5 - 下载扩展值. 这个值可能是任意的,并且这个值只对 AutoIt 开发者有用.
你那个是下载的文件大小 http://html5test.com/results/desktop.html
好像直接检测浏览器的版本,然后去对应就差不多了 回复 3# 骗子
明白了 那有其他的函数吗 我想用SEND模拟鼠标操作 但是不知道相对位置怎么获取 http://www.autoitx.com/forum.php?mod=viewthread&tid=17882&highlight=Au3.WProbe 回复 6# 骗子
多谢~~下边是我新写的 目前可以实现自动保存 但是在选取"YOUR BROWSER SCORES 505 OUT OF 555 POINTS You are using Chrome 33 on Windows 8"的位置上 还是有些偏差ShellExecute('C:\Program Files (x86)\Google\Chrome\Application\chrome.exe','http://www.html5test.com')
Sleep(8000)
MouseMove(211,324)
MouseDown("left")
MouseMove(482,432)
MouseUp("left")
Sleep(1000)
Send('^c')
ShellExecute('score.txt')
Sleep(1000)
Send("^v")
WinClose('score.txt - 记事本')
WinWaitActive("记事本","保存")
Send("!s") 回复 7# lorrell
ClipPut('')
ShellExecute('"D:\Program Files\FF\FirefoxPortable.exe"', 'http://www.html5test.com')
Sleep(5000)
While 1
Sleep(500)
WinActivate('HTML5test')
Send('^a')
Send('^c')
$asd = StringRegExp(ClipGet(), 'scores (\d+) out', 3)
If Not @error Then
FileWrite('score.txt', $asd)
Exit
EndIf
WEnd 回复 8# 骗子
你这代码 运行不出来诶~~就只是把整个页面复制了 并没有复制单独的SCORE那句结果啊 $asd = StringRegExp(ClipGet(), 'scores (\d+) out', 3)
If Not @error Then
FileWrite('score.txt', $asd)
Exit
EndIf
这几句就是从复制的内容中匹配出来结果的,我没有谷歌浏览器,用FF测试没问题 回复 10# 骗子
试了一下 IE可以,google chrome不行. 自己看看ClipGet() 里面是什么内容,有没有需要的东西,有的话自己正则取出来 請問有沒有辦法背景執行?
页:
[1]