Function Reference

_IENavigate

既存のブラウザウィンドウに指定したURLに移動するよう指示します。

#include <IE.au3>
_IENavigate ( ByRef $o_object, $s_url [, $f_wait = 1] )

 

パラメータ

$o_object InternetExplorer.Applicationのオブジェクト変数、ウィンドウまたはフレームオブジェクト
$s_url 移動先URL (e.g. "http://www.autoitscript.com")
$f_wait [オプション]ページのロード中に待機するかどうかを指定します
0 = 直ちに処理を返します。ページのロードを待ちません
1 = (デフォルト) ページのロードが完了してから処理を返します

 

返し値

成功: -1を返します
失敗: 0を返し@ERRORを設定します
@Error: 0 ($_IEStatus_Success) = 正常終了
1 ($_IEStatus_GeneralError) = 一般的なエラー
3 ($_IEStatus_InvalidDataType) = 無効なデータ型
4 ($_IEStatus_InvalidObjectType) = 無効なオブジェクト型
6 ($_IEStatus_LoadWaitTimeout) = ロード待機タイムアウト
8 ($_IEStatus_AccessIsDenied) = アクセス拒否
9 ($_IEStatus_ClientDisconnected) = クライアント切断
@Extended: 無効なパラメータの番号が格納されています

 

注意

この関数は常に値-1を返します。これは移動メソッドは有用な返し値を持たず、返し値から情報を得ることができないためです。移動が成功したかどうかを知るためには他のメソッドを使用する必要があります。

Windows Vistaの新しいセキュリティーシステムではからブラウザに異なるセキュリティーゾーンのURLへの移動命令が出された場合、新しいブラウザウィンドウが作成されます。これは_IECreateを使ってはじめてウィンドウを作成して初期移動する場合でも同じです。新しいウィンドウは新しいブラウザのインスタンスであり、以前のブラウザのオブジェクト変数はもうそれを指していません。いくつかの回避策があります: 1)コードに#RequireAdminを追加 (これはアカウントが管理者グループの一部であっても必要です。必要に応じて証明プロンプトが表示されます)、2)_IEAttachを使って新しいブラウザウィンドウに接続、3)IEでターゲットサイトを信頼できるサイトセキュリティゾーンに追加、4)IEで"保護モード"を解除、5)UACを無効にする。信頼できないサイトにアクセスする場合はIEのセキュリティー機能の無効化が及ばす影響についてよく理解するようにしてください。

 

関連

_IECreate, _IECreateEmbedded, _IELoadWait

 


; *******************************************************
; 例 1 - ブラウザウィンドウを作成しウェブサイトに移動。
;               5秒待機して他に移動
;               5秒待機して他に移動
; *******************************************************
;
#include <IE.au3>
$oIE = _IECreate ("www.autoitscript.com")
Sleep(5000)
_IENavigate ($oIE, "http://www.autoitscript.com/forum/index.php?")
Sleep(5000)
_IENavigate ($oIE, "http://www.autoitscript.com/forum/index.php?showforum=9")

; *******************************************************
; 例 2 - ブラウザウィンドウを作成しウェブサイトに移動。
;              ページロードの完了を待たずに次の行の処理を実行
; *******************************************************
;
#include <IE.au3>
$oIE = _IECreate ("www.autoitscript.com", 0)
MsgBox(0, "_IENavigate()", "This code executes immediately")