阿修羅ワークス開発日誌 Google Chrome×WordPressのブラウザ自動操縦のプロトタイプが完成
ブラウザ操作を自動化してみよう、ということでGoogle ChromeとWordPressを組み合わせた変態的な自動操縦に成功しました!
Chromeの拡張機能でブラウザの自動操縦できる拡張は存在するのですが、データを外部に送信することができないんですね。
なので、あくまでも操作の記録と再生のみです。
よって単純な繰り返し処理しかできません。
しかし、データを外部、つまりWordPressなんかに送信できると色んなことができちゃいます。
条件判定で次の操作を変更したり、記録することができます。
データを外部に送信する方法ですが、普通にPOST形式やajaxで送信できません。
クロスドメイン問題というセキュリティの壁があるからです。
そこで、どうするかというとGET形式による送信です。
やり方としてはJavaScriptでscriptタグを生成して、その際src属性にWordPressのURLを指定します。
src属性のURLのクエリーにパラメータを指定することでWordPressにデータを送信できます。
データはJSON形式に変換して、URIエンコードをかけておきます。
難しかったのがGET形式の最大文字数制限です。
GET形式で送れる文字数がブラウザによって最大2048文字だったりします。
なので2048文字を超えると送信できないので、それ以上になる場合は分割して送信する必要があるんですね。
パケットに分けて送信して、WordPress側で分割したパケットをチェックサムの多段処理で復元します。
今回、ブラウザの自動化で有名なSeleniumと同じようなことがJavaScrip
0