我認爲最好使用Invisible IE窗口。你可以使用一個不活動的,儘量減少它,但爲什麼要經歷這個麻煩。
下面的代碼將使用隱藏的IE窗口讀取結果,因此無法獲得焦點。它查看HTML類並獲取名稱和價格,並將其顯示在消息框中。由於名稱不完整,您的唯一標識符可能是div class =「pla-unit-title」下的鏈接
#include <IE.au3>
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
Global $fb1 = _IECreate("https://www.google.ca/?gfe_rd=cr&ei=oPLYV6qlMMbM8ge3xqiYDg#q=tennis+racquet+price",0,0)
sleep(2000);wait for all data to load
$fullHtml = _IEDocReadHTML ($fb1)
$racketNames = StringRegExp($fullHtml,"(?s)(?U)<div class=""pla-unit-title.*>(.*)</div>",3)
$racketPrices = StringRegExp($fullHtml,"(?s)(?U)<div class=""_QD.*>(.*)</div>",3)
_IEQuit($fb1);
For $i = 0 To UBound($racketPrices) - 1
$racketName = getTextBetweenTags($racketNames[$i])
$racketPrice = getTextBetweenTags($racketPrices[$i])
MsgBox($MB_SYSTEMMODAL, "Racket:" & $i,$racketName & " priced at " & $racketPrice)
Next
func getTextBetweenTags($html)
$value = StringTrimLeft($html,StringInStr($html,">"))
$value = StringLeft($value,StringInStr($value,"<")-1)
return $value;
EndFunc
哇,你是天才! 我其實也不知道隱形IE的存在! 謝謝soooo bro! – pita