2017-01-27 1 views
0

다음은 내 문제의 컨텍스트입니다. 여러 탭 (실제로는 50 개 정도)이 열리는 IE 창이 있습니다. 탭 (ControlSend "^ i"포함)을 탐색하면서 현재 표시된 탭의 innertext를 가져 오려고합니다. 그러나 _IEPropertyGet ($ global_ie, "innertext") 명령에서 오는 것은 첫 번째 탭 (IE가 생성 된 탭)의 시작 부분에 매번 발생합니다.Autoit의 IE 탭에서 innertext를 얻는 방법

제 질문은 : 현재 탭의 innertext를 가져 오는 방법은 무엇입니까?

일부 제약이 내가 가진 :

  • 내가 IE 창 때문에 그래픽 일을 할 수 는
  • 내가/새로 고침 (50 개) 탭 탭/페이지를 (다시로드 할 수없는 숨겨진 될 것입니다, 그것은 끝 너무 많은 요청과 내가, 내 PC 한 번에 50의 IE를 처리 할 수있는 확실하지 않은 다른 IE의 탭 (너무 많은 탭을 열 수 없습니다
  • 웹 사이트의 안티 DDOS 봇))
  • 에 의해 붙 잡히기

추가 정보 :

  • I는 함수 ControlSend (... 를 사용하여 탭을 탐색 (파라미터 "가 0x1000"사용) Navigate2에 함수를 사용하여 생성 된 "^ $ i)

저는 Autoit (및 모든 자동화 도구)을 사용하여 매우 새롭기 때문에 나는 몇 가지 기본 사항을 파악합니다.

고마워요!

[AutoIt이 포럼에서 X-POST]를 AutoIt이 포럼에

답변

0

내 게시물이 대답했습니다. 그리고 이것으로 문제가 해결되었습니다. 활성 탭을 얻기 위해, 나는 다음과 같은 기능을 사용하는 데 필요한 : 일부 지연을 추가하고 _IEPropertyGet($active_tab, "innertext")을 사용한 후

Func _IEGetActiveTab() 
Local $hwnd, $i, $title, $oIE 

; get first IE instance 
$oIE = _IEAttach ("", "instance", 1) 

If @error = $_IESTATUS_Success Then 
    ; get window title 
    $hwnd = _IEPropertyGet($oIE, "hwnd") 
    $title = WinGetTitle($hwnd) 

    ;strip off trailing browser text 
    $i = StringInStr($title, ' - ', 0, -1) 
    If $i > 0 Then 
     $title = StringLeft($title, $i - 1) 
    EndIf 

    $oIE = _IEAttach($title, "windowtitle") 
EndIf 

Return $oIE 
EndFunc 

을, 나는 페이지의 텍스트를 얻을 수있었습니다.

관련 문제