Ajax 已加载Casperjs资源,但仍未定义函数

Ajax 已加载Casperjs资源,但仍未定义函数,ajax,phantomjs,screen-scraping,casperjs,webautomation,Ajax,Phantomjs,Screen Scraping,Casperjs,Webautomation,我正在尝试使用casperJS筛选和刮取一些数据 我已经通过post成功登录到该网站 一旦我进入我的网站,一切都通过ajax工作。页面url永远不会更改,但dom会更新 一旦登录,我有一个搜索框,然后一个按钮来运行搜索。我可以用搜索词更新搜索框,但是,当我单击按钮时,它确实给出了pageError,并说pageError:ReferenceError:找不到变量:myfunc,但是,myfunc是一个函数,通过外部js文件(通过HTTPS)成功加载 以下是示例代码: var casper = r

我正在尝试使用casperJS筛选和刮取一些数据

我已经通过post成功登录到该网站

一旦我进入我的网站,一切都通过ajax工作。页面url永远不会更改,但dom会更新

一旦登录,我有一个搜索框,然后一个按钮来运行搜索。我可以用搜索词更新搜索框,但是,当我单击按钮时,它确实给出了
pageError
,并说
pageError:ReferenceError:找不到变量:myfunc
,但是,
myfunc
是一个函数,通过外部js文件(通过HTTPS)成功加载

以下是示例代码:

var casper = require('casper').create({
   verbose: true,
   logLevel: 'debug',
   viewportSize: {width: 1280, height: 800},
   pageSettings: {
        //loadImages:  false,         // The WebPage instance used by Casper will
        //loadPlugins: false,         // use these settings
        userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4'
   }
});

// print out all the messages in the headless browser context
casper.on('remote.message', function(msg) {
   this.echo('remote message caught: ' + msg);
});

// print out all the messages in the headless browser context
casper.on("page.error", function(msg, trace) {
   this.echo("Page Error: " + msg, "ERROR");
});

casper.on("resource.error", function(resourceError) {
   //this.echo("REcource Error: " + msg, "ERROR");
   this.echo('Error code: ' + resourceError.errorCode + '. Description: ' + resourceError.errorString);
});

casper.on('resource.received', function(resource) {
 var status = resource.status;
 casper.log('Resource received ' + resource.url + ' (' + status + ')');
 this.echo('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX: '+ resource.url)
});
var url= "example.com"
casper.start(url, function() {
  console.log("page loaded");
  this.fill('form#loginForm', {
       username: 'USER',
       password:  'PASS'
   }, true);
});
casper.thenEvaluate(function(id, type){
   document.getElementById("search").value = 'search';
   document.getElementById("submit").click();
})

//ALSO tried this but no use
casper.then(function(){
   //this line makes a call to myfunc() which is already loaded in resource but it's not found during run time
   this.click("a#submit");
})
当我运行此命令时,我得到
页面错误:ReferenceError:找不到变量:myFunc

PS:我的网站是HTTPS网站,我用
casperjs运行casper——忽略ssl错误=yes myCaspFile.js
我所有的资源都是基于HTTPS的

非常感谢您的指点