Ajax 已加载Casperjs资源,但仍未定义函数
我正在尝试使用casperJS筛选和刮取一些数据 我已经通过post成功登录到该网站 一旦我进入我的网站,一切都通过ajax工作。页面url永远不会更改,但dom会更新 一旦登录,我有一个搜索框,然后一个按钮来运行搜索。我可以用搜索词更新搜索框,但是,当我单击按钮时,它确实给出了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
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的
非常感谢您的指点