Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 已单击CasperJS按钮,但未重定向_Javascript_Casperjs - Fatal编程技术网

Javascript 已单击CasperJS按钮,但未重定向

Javascript 已单击CasperJS按钮,但未重定向,javascript,casperjs,Javascript,Casperjs,var casper=require('casper')。创建({ 没错, 日志级别:“错误”, 页面设置:{ userAgent:'Mozilla/5.0(Windows NT 6.2;WOW64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/29.0.1547.2 Safari/537.36' } }); var x=require(“casper”)。选择XPath; casper.start(“https://kit.kijiji.ca/Index.as

var casper=require('casper')。创建({
没错,
日志级别:“错误”,
页面设置:{
userAgent:'Mozilla/5.0(Windows NT 6.2;WOW64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/29.0.1547.2 Safari/537.36'
}
});
var x=require(“casper”)。选择XPath;
casper.start(“https://kit.kijiji.ca/Index.aspx");
casper.then(函数(){
这个.sendKeys('input[name=“login\u username”]”,'example@example.com');
sendKeys('input[name=“login_password”]”,'password');
});
casper.然后单击('按钮',函数(){
这个.echo(“点击按钮”);
});
casper.wait(500,函数(){
单击(x(“//input[@value='Login/Ouvrir une session']”);
});
casper.wait(1000,函数(){
this.echo(this.getTitle());
this.capture('example.png');
casper.exit();
});

casper.run()您的登录部分位于带有post操作的表单下。你可以尝试提交表单,而不是点击登录按钮。我也面临这个问题,并通过以下方式得到解决:

    this.fill('form#formname', {
        login_username: 'example@example.com',
        login_password: 'password',
    }, false);

    this.thenEvaluate(function () {
        document.querySelector('form#formname').submit();
    });

希望你能解决这个问题。请正确填写表单名称。

您的登录部分位于带有post操作的表单下。你可以尝试提交表单,而不是点击登录按钮。我也面临这个问题,并通过以下方式得到解决:

    this.fill('form#formname', {
        login_username: 'example@example.com',
        login_password: 'password',
    }, false);

    this.thenEvaluate(function () {
        document.querySelector('form#formname').submit();
    });

希望你能解决这个问题。请正确填写表单名称。

您使用哪个PhantomJS版本?请注册到
resource.error
page.error
remote.message
casper.page.onResourceTimeout
事件()。可能有错误。@ArtjomB。我目前使用的是PhantomJS的最新版本(2.1.1),这些事件没有导致任何错误。现在,使用正确的凭据,捕获函数返回一个错误“未能将屏幕截图保存到example.png;请检查权限…”这是我从resource.error事件ResourceError:{“errorCode”:5,“errorString”:“操作已取消”,“id”:78,“status”:null,“statusText”:null,“url”:}我认为您没有使用PhantomJS2.1.1。如果您是通过NPM安装的,CasperJS将包括PhantomJS的旧版本。尝试将其作为
casperjs--ignoressl errors=true--ssl protocol=any script.js
@ArtjomB运行。我手动安装了PhantomJS。我刚刚发现它正在登录,但由于某种原因,当我试图捕获它时,它不允许我。我可以下载源代码。该网站主要是Javascript,我可能在这方面做错了什么吗?我看你的脚本没有问题。“未能将屏幕截图保存到example.png;请检查权限…”错误可能是由于权限问题造成的。您应该检查是否可以写入运行此操作的目录。您使用哪个PhantomJS版本?请注册到
resource.error
page.error
remote.message
casper.page.onResourceTimeout
事件()。可能有错误。@ArtjomB。我目前使用的是PhantomJS的最新版本(2.1.1),这些事件没有导致任何错误。现在,使用正确的凭据,捕获函数返回一个错误“未能将屏幕截图保存到example.png;请检查权限…”这是我从resource.error事件ResourceError:{“errorCode”:5,“errorString”:“操作已取消”,“id”:78,“status”:null,“statusText”:null,“url”:}我认为您没有使用PhantomJS2.1.1。如果您是通过NPM安装的,CasperJS将包括PhantomJS的旧版本。尝试将其作为
casperjs--ignoressl errors=true--ssl protocol=any script.js
@ArtjomB运行。我手动安装了PhantomJS。我刚刚发现它正在登录,但由于某种原因,当我试图捕获它时,它不允许我。我可以下载源代码。该网站主要是Javascript,我可能在这方面做错了什么吗?我看你的脚本没有问题。“未能将屏幕截图保存到example.png;请检查权限…”错误可能是由于权限问题造成的。您应该检查是否可以写入运行此操作的目录。