jQueryを含むphantomjs自動化スクリプトを書いています。
簡潔にしようと思います。
最初-ページの読み込み
バージョン1:
page.includeJs("http://............../1.9.0/jquery.min.js", function() {
page.open(urlDecoded, function (status) {
page.evaluate(fChecker, params);
});
});
バージョン2
page.open(urlDecoded, function (status) {
page.includeJs("http://............../1.9.0/jquery.min.js", function() {
page.evaluate(fChecker, params);
});
});
バージョン3
page.open(urlDecoded, function (status) {
page.evaluate(fChecker, params);
});
2番目-評価
バージョン1および2の場合:
function fChecker(params) {
...
...
$('.blabla').val('yes');
}
バージョン3の場合:
function fChecker(params) {
var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
...
...
$('.blabla').val('yes');
}
最後-結果
$は認識されません。jQueryは認識されません。
評価後にHTMLコンテンツを保存し、自動化されたページ内にスクリプトを表示します。これにより、ファイルが正しく追加されます。
まったく同じアプローチ(バージョン2)は、他の2つのサイトでもすでに機能しており、すべて問題ありません。
後で別の評価関数を使用すると(評価および分析されたページを送信するためだけに)正常に機能します。
何か案は?
ありがとうございました。
PS。私はサイト上のすべてのアイテムを検索しました。トピックは重複ではありません。