jQuery不会在page.evaluate中加载

时间:2013-02-07 12:17:54

标签: javascript jquery phantomjs

我正在编写一个涉及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);
});

第二 - 评估

对于版本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)已经与其他两个站点一起工作,一切都很好。

稍后使用另一个评估函数(仅用于提交评估和分析的页面)可以正常工作。

有什么想法吗?

谢谢。

PS。我搜索了网站上的每一个项目。该主题不重复。

0 个答案:

没有答案