UWSCで「F12 IE開発者ツール」を自動操作し,ブラウザに任意のユーザエージェント文字列を設定するサンプルコード
UWSCマクロでIEを自動操作する際に,「開発者ツール」を自動操作し,
自由にユーザエージェント文字列を設定してみよう。
UWSCサンプルコード
// // UWSCマクロでIEを自動操作するサンプルコード // // ----- 設定項目 ----- // アクセス先のURL target_url = "http://www.ugtop.com/spill.shtml"; // セットしたいUserAgent文字列 my_user_agent = "Mozilla/5.0 (iPhone; CPU iPhone OS 9_0_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13A404 Safari/601.1" // ----- IE初期化 ----- // IEを起動 ie = createOLEobj("InternetExplorer.Application") // 起動中のIEを見えるように ie.visible = True // 初期ページへ ie.Navigate( "https://www.google.co.jp/webhp?hl=ja" ) ie_wait( ie ) // 位置調整(左上) window_id = HNDtoID( ie.hwnd ) ACW( window_id, 0, 0 ) // ブラウザの画面を最大化 CtrlWin( window_id, MAX ) // ----- UAをセット ----- // 開発者ツールを起動 kbd( VK_F12 ) sleep( 10 ) // 起動完了まで待つ // 「エミュレーション」タブを開く sckey( window_id, VK_CTRL, VK_8 ) // ctrl + 8 sleep( 6 ) // Shift + TABを何度も押して // ユーザエージェント文字列のプルダウンにフォーカス for i = 1 to 17 sckey( window_id, VK_SHIFT, VK_TAB ) sleep( 0.8 ) next // TABのみを押す方法だと // 回数が4回または5回で変動してしまうので // プルダウンを開く kbd( VK_SPACE ) sleep( 1 ) // ENDキーを押して,プルダウンの末尾にある // 「カスタム」を選択状態にする kbd( VK_END ) sleep( 1 ) // プルダウンの中身の個数は変わるので // したキーを繰り返し押すという方法は使えない // カスタムで決定 kbd( VK_ENTER ) sleep( 1 ) // カスタム文字列にフォーカスして, 独自のUAを入力 kbd( VK_TAB ) sleep( 1 ) sendstr( window_id, my_user_agent ) sleep( 1 ) kbd( VK_ENTER ) sleep( 1 ) // UA設定終わり // ----- UAが変わっていることを確認 ----- // URLにジャンプ ie.Navigate( target_url ) ie_wait( ie ) // UA検査用のページにアクセスすれば // アクセスしたページ上にUAが表示される。 msgbox( "処理が終了" ) // ----- ルーチン ----- // IEがビジー状態の間待ちます procedure ie_wait( ie ) repeat sleep( 0.1 ) until ( ! ie.busy ) and ( ie.readystate = 4 ) sleep( 0.2 ) fend
※うまく動作しない場合は,Sleepの待ち時間を延ばしてみよう。
実行結果
上記のコードを実行すると,IEが立ち上がり,開発者ツールが操作される。
UAとしてiPhoneのユーザエージェント文字列を設定している。
そこから,ブラウザ情報を確認できる「確認くん」のページへ遷移。
UA偽装に成功したので,OSは「iOS」と認識されている。
動作結果の証拠画像:
参考資料
IEの開発者ツールからUAを変える手順:
歌うキツネ : Internet Explorer 11/10/9のユーザーエージェントを変更(偽装)する
http://utaukitune.ldblog.jp/archives/...
- 任意のユーザーエージェントを設定する場合
- ユーザーエージェント文字列 > [カスタム] をクリックする
- カスタム文字列 にユーザーエージェントを入力し, [Enter]キー を押す。Webページが再読み込みされる
How to Change Your Browser’s User Agent Without Installing Any Extensions
http://www.howtogeek.com/113439/how-t...
- Internet Explorer also has a user agent option in its developer tools.
- To open them, press F12 or select the F12 developer tools option from Internet Explorer’s Tools menu.
IEのUAは,Windowsのレジストリに格納されている。
しかしレジストリの値を改変するのはとても危険なのでできない。
そのため,ブラウザにアドオンをインストールしてUAを設定するという手段もある。
開発者ツールを使わなくて済ませるためにはアドオンが役立つだろう。
hidden - Internet Explorer の User agent の話
http://nostalgia.xii.jp/hidden.vc/201...
- IE の UA はレジストリに保存されています。
- しかし、UA の文字列がそのまま一部分にあるわけではなく、バラバラになっているので, 直接編集するのは困難で危険
- そこで、私は IE7Pro を使って UA を偽装する形にしています。
Internet Explorerブラウザのユーザーエージェントを変更する方法 《UA偽装》 - Let's Emu!
http://www.geocities.co.jp/Playtown-Y...
- F12 開発ツールはWindows XP対応のIE8(バージョン8)にも用意されてるけれど、ユーザーエージェントの切り替え機能は実装されてない
- Windowsのレジストリをいじらないといけない
- なので,IE9やIE10でも利用できる無料アドオンを導入する方法もあります
UWSCのコーディングの参考にしたページ:
文字列の送信 | UWSC コバヤシ式
http://canal22.org/gyaku/sendstr-2/
- SENDSTR( ウィンドウID, 文字列, [番号, 送信モードフラグ, ACC指定] )
仮想キーコード
http://www.comrade.co.jp/ftp/pg1/manu...
- 各種キー操作を自動化するための,シンボリック変数名の一覧表
このエントリは,下記の質問への回答として執筆しました。
UWSCにてIELINK関数でクリックする際にUAをセットする方法を教え…
http://q.hatena.ne.jp/1449831863