我正在尝试使用PhantomJS抓取网站,我需要在网站上执行一些操作。我想使用jQuery。我已经创建了以下代码
page.open(url, function (status)
{
if (status === "success")
{
page.injectJs('jquery-1.11.1.min.js');
var links = page.evaluate(function()
{
$jq = window.jQuery;
$jq.noConflict();
var links = [];
$jq('a').each(function()
{
});
return links;
});
}
});
有时会崩溃。
TypeError:' undefined'不是一个功能(评估 '的jQuery('。有些-DIV-一个最scrapering页&#39)
可能jQuery已经在这个网站上使用,这是一个与我不同的版本。我该如何解决?我必须使用普通的JS吗?
答案 0 :(得分:0)
要检查页面是否已有jQuery,请使用window.jQuery
:
if (!window.jQuery) {
// jQuery is not loaded
page.injectJs('jquery-1.11.1.min.js');
}
这样,如果页面已经加载了jQuery,那么你的脚本不会再尝试加载它。否则,它将执行page.injectJs('jquery-1.11.1.min.js')