Skip to content

Latest commit

 

History

History
54 lines (44 loc) · 3.17 KB

Page-Automation.md

File metadata and controls

54 lines (44 loc) · 3.17 KB

ページの自動化

PhantomJSはWebページを読み込み操作することができるので、様々なページの自動化をおこなうことができます。

DOM操作

Webブラウザ上で実行されているかのようにスクリプトが実行されるので、標準のDOM scriptingCSS selectorsは問題なく動作します。

以下のuseragent.jsの例では、 idmyagentである要素のinnerTextプロパティの読み込みを示しています:

var page = require('webpage').create();
console.log('The default user agent is ' + page.settings.userAgent);
page.settings.userAgent = 'SpecialAgent';
page.open('http://www.httpuseragent.org', function (status) {
    if (status !== 'success') {
        console.log('Unable to access network');
    } else {
        var ua = page.evaluate(function () {
            return document.getElementById('myagent').innerText;
        });
        console.log(ua);
    }
    phantom.exit();
});

上記の例では、リモートWebサーバーによって認識されるユーザーエージェントをカスタマイズする方法も示しています。

jQueryや他のライブラリの使用

バージョン1.6から、次のようにpage.includeJsを使用することで、ページにjQueryをインクルードすることができます:

var page = require('webpage').create();
page.open('http://www.sample.com', function() {
    page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
        page.evaluate(function() {
            $("button").click();
        });
        phantom.exit()
    });
});

上記のスニペットはWebページを開き、ページにjQueryライブラリをインクルードした後、jQueryを使用してすべてのボタンをクリックします。そしてWebページを終了します。page.includeJs内にexit文を入れているか、またはjavascriptのコードが含まれる前に、途中で終了する可能性があることを確認してください。