有关:网页提取链接、定时执行操作的问题求助
测试链接如下:测试链接(如有乱码,请修改一下页面编码为“简体中文”)
我想实现:
从此页面中提取开始时间,然后定时,时间到了,就单击下面对应的链接
下面是代码,可能有许多需要修改的地方,麻烦帮忙看看
;#NoTrayIcon
#include <IE.au3>
#include <INet.au3>
#include <Date.au3>
Global $oIE
Global $starttime,$TimeNum,$getmoneylink
Dim $aStartTime,$aRedEnvelpeLinks
$url = "http://liuxingworld.com/wp-content/uploads/2009/test.html"
$oIE = _IECreate($url, "url", 1)
_IELoadWait($oIE)
$surl = _IEPropertyGet($oIE, "locationurl")
ConsoleWrite($surl & @CR)
;$sHTML = _IEBodyReadHTML ($oIE)
$sHTML = _INetGetSource($surl)
; get the start time
$aStartTime = StringRegExp($sHTML, "<li>开始时间 (.*?)</li>", 3)
$aRedEnvelpeLinks = StringRegExp($sHTML, '<li><b> <a href="(.*?)"><font', 3)
$TimeNum = UBound($aStartTime) - 1
ConsoleWrite($TimeNum & @CRLF)
For $i = 0 To UBound($aStartTime) - 1
Dim $starttime ; 开始时间
Dim $link ; 链接URL
$starttime = $aStartTime[$i]
$link = $aRedEnvelpeLinks[$i]
ConsoleWrite($starttime & @CRLF)
ConsoleWrite($link & @CRLF)
Next
; #################################
; 就是这里不明白
; 该放在哪里,怎么做?
;AdlibEnable("checktime")
;While 1
;WEnd
; #################################
Sleep(2000) ;pause 2 seconds
_IEQuit($oIE)
Func checktime()
Local $hour, $min, $sec, $timediff
$timediff = _DateDiff('s', _NowCalc(), $starttime)
ConsoleWrite($starttime & @CRLF)
;如果时间差<=30秒,则执行
If $timediff <= 30 Then
AdlibDisable()
_IEAction($link, "click")
ConsoleWrite($link & "--" & @error & @CRLF)
EndIf
EndFunc ;==>checktime
有简便方法为什么不用了
在命令提示符中用AT命令,安排计划时间运行即可! 首先谢谢bob的回复。
原帖由 bob 于 2009-3-12 13:25 发表 http://www.autoitx.com/images/common/back.gif
有简便方法为什么不用了
在命令提示符中用AT命令,安排计划时间运行即可!
那我用windows的计划任务,应该也可以吧。
可是问题不在这里,我要从网页获取时间,然后再定时
如果页面上就一个时间,那我可以实现
可是如果有多个页面且每一个页面上有多个时间,我就不知道如何实现了 做任务计划和AT都要有用户名和密码的限制。
如果有管理员权限可以用WMI的任务计划对象创建System的任务计划。这样就可以实现无论谁登陆这台机器都可以可视化的开始这个任务。 用正则获取时间,写到任务计划中 原帖由 bob 于 2009-3-12 14:51 发表 http://www.autoitx.com/images/common/back.gif
用正则获取时间,写到任务计划中
谢谢两位
时间我已经获取到了,就是如何写到任务计划中,不清楚,谢谢
页:
[1]