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 많은 형제 감사합니다! – pita