UiBot:みんなのためのロボット!

ユーザの位置: トレーニングセンター > UiBot開発者ガイド > 15.クロスドメインWebページ
15.クロスドメインWebページ

iFrameネストまたは参照によって、あるドメイン名の下のWebページを独立した別のWebページに埋め込まれることがあります。それを「クロスドメインWebページ(cross-domain web pages)」と呼ばれます。 この場合、セキュリティ上の理由から、それぞれのブラウザは違う戦略があります。実際の例を見てみましょう:


Chromeブラウザを開きます;

QQメールボックスページを閲覧します

http://mail.qq.com;

QQログインに切り替えます;

F12 key を押します;

Chrome開発者モードを開きます;

Ctrl + Shift + Cの組み合わせキーを押す;

Chromeの要素表示機能に入り、マウスを「QQ login」領域に移動します;

次に左クリックします。


Cross-Domain Page Case: QQ Mailbox


明らかに、現在のWebページのドメイン名はmail.qqq.comですが、xui.ptlogin2.qqq.comというドメイン名のWebページが埋め込まれています ご覧のとおり、2つのドメイン名はまったく違います。これは代表的なクロスドメインWebページです


この場合、IEブラウザーはドメイン間で特別な処理を行いません。 セキュリティ上の理由から、Chromeブラウザーは、要素の選択、JS、およびその他の操作を含むiFrameの下ののページへのアクセスを禁止します。即ち、ログインQQ番号、QQパスワードなどを含むQQログインのインターフェイス要素を選択することはできないことを意味します。それで、操作の自動化がさらに困難になっています。


この状況をどのように対処しますか? IEブラウザを使用するか、またはパラメーターコマンドを起動することでChromeのセキュリティ設定をオフにします。 Chromeのセキュリティ設定について後文で説明します。それを閉じる前に、注意しなければならないのは、Chromeユーザーデータを一時的に保存するディレクトリを選択する必要があります。D:tempだと仮定します。


Google Chromeアイコンを右クリックし、attribute ->shortcutを選択します。「ターゲット」列の中で起動パラメーターを入力します。フォーマットは次のとおりです:


- disable-web-security - user-data-dir = user data directory.


たとえば、ChromeはC:Program Files(x86)Google Chrome Application chromeの下にインストールされています。Exe、およびユーザーデータディレクトリはD:tempです。そこで、フォーマットではC: Program Files (x86) Google Chrome Application chrome - Disable - web-security-dir = user:\ temp. 41 を入力する必要があります。


Chromeが閉じられたセキュリティ設定


これを行った後、Chromeを再び開くと、Chromeアドレスバーが次のように表示されています。そして、すでにインストールされている拡張機能が消えます。気になる必要はありません。これは、Chromeのユーザーデータディレクトリが変更されたからです。 UiBotのChrome拡張機能プログラムを再インストールすれば、その操作を自動的に行います。


セキュリティ設定を閉じた後にChromeがディスプレイをオンにします


上記の設定により、Chromeはクロスドメインアクセスをサポートすることができます。


RPAの世界を探索する準備はできましたか?
自動化開始