2017-01-27 41 views
0

ここに私の問題の文脈があります:私はいくつかのタブ(実際には約50個)を開くIEウィンドウを持っています。私はタブ(ControlSend "^ i")をナビゲートして、現在表示されているタブのインテルテキストを取得したいと考えています。しかし、_IEPropertyGet($ global_ie、 "innertext")コマンドから来るものは、最初のタブ(IEが作成されたタブ)の最初の文のたびにあります。AutoitのIEタブからinnertextを取得する方法

私の質問は、現在のタブのinnertextを取得する方法ですか?

私が持っているいくつかの制約:

  • 私はグラフィカルなことをやってすることはできませんIEのウィンドウが隠れて
  • あることを行っているので、私はそれが終わる、50個のタブ付きのタブ/ページ(リロード/リフレッシュできません あまり要求で、私は、私のPC は一度に50のIEを扱うことができるかわからない別のIEのタブ(あまりにも多くのタブを開くことができません
  • ウェブサイトの抗DDOSボット))
  • でキャッチされています

追加情報:

  • タブが(パラメータ "0×1000" で)Navigate2の機能を使用して作成され

  • 私は 、...(関数のcontrolSendを使用して、タブをナビゲート"^ $ i)

私はAutoit(およびすべての自動化ツール)を使用してかなり新しくなっています。いくつかの基本事項を理解する。

ありがとうたくさんの人!

[AutoItのフォーラムからX-POST]

答えて

0

のAutoItフォーラムで私のポストが回答されています。そして、これが問題を解決したのです。アクティブなタブを取得するには、私は次の関数を使用するために必要ないくつかの遅延を追加し、_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 

を、私はページのテキストを取得することができました。

関連する問題