Amazon.comドメインのページ(たとえば、「http://www.amazon.com」)を開いて、JQueryのように挿入しようとしていますこの:PhantomJSを使用してAmazon.comページにJQueryを注入すると、JQueryで問題が発生する
var injected = page.injectJs('jquery-1.7.1.js');
console.log("jquery was injected successfully: " + injected);
このコードは、コンソールにtrue
を印刷します。しかし、このようなpage.evaluate()
内から$(document)
にアクセスしようとしている:
page.onLoadFinished = function (status) {
var results = page.evaluate(function() {
$(document);
});
phantom.exit();
};
がコンソールにTypeError: 'undefined' is not a function
を出力します。
このコードは、私が試した他のほとんどのドメインで動作します。 AmazonがJQueryの独自のバージョンを持っているようだが、どうやらロードしているJQueryのバージョンと競合しているのではないかと思う。何か案は?
このような質問にもjavascriptとしてタグを付けてください(次回)。 –
非エイリアスを使用するとどうなりますか? 'jQuery(document)'などです。 – Tejs
これは動作します(ありがとう!)。しかし、なぜ私は理解していない。誰か知っていますか? – grumblebeans