Javascript 卡斯珀斯';当应该有重定向时,“开始”不起作用

Javascript 卡斯珀斯';当应该有重定向时,“开始”不起作用,javascript,phantomjs,casperjs,Javascript,Phantomjs,Casperjs,当我在普通浏览器中请求portalUrl(“”)时,它会重定向到ADFS登录页面“ADFSloginUrl”,但使用CasperJS它无法访问ADFS的登录页面 在上述代码中,请求的页面未加载。因此'this.getTitle()'为空,无法从CasperJS访问提交按钮 访问“提交”按钮时,会出现以下错误: “消息:CasperError:无法在不存在的选择器上调度mousedown事件:input#SubmitButton” 这与casper.start有什么关系吗?使用waitFor怎么样

当我在普通浏览器中请求portalUrl(“”)时,它会重定向到ADFS登录页面“ADFSloginUrl”,但使用CasperJS它无法访问ADFS的登录页面

在上述代码中,请求的页面未加载。因此'this.getTitle()'为空,无法从CasperJS访问提交按钮

访问“提交”按钮时,会出现以下错误:

“消息:CasperError:无法在不存在的选择器上调度mousedown事件:input#SubmitButton”


这与casper.start有什么关系吗?

使用
waitFor
怎么样:

url = "https://example.com/";
casper.start(url, function () {
    this.echo('url: ' + url); 

    this.echo('myCloud requested...');
    this.echo('Page title: ' + this.getTitle());


});
casper.then(function () {
    this.echo('Clicking submit button...');

    this.click('input#SubmitButton');
...
如果这确实有效,则可能表明重定向发生在JavaScript级别,而不是HTTP级别。(无论如何,这是一种很好的方法,因为在其他方面,细微的计时错误可能会潜入代码。)


或者,看看哪个方面指出PhantomJS和SlimerJS的行为有点不同

--ssl protocol=any为我解决了这个问题。 casperjs--ssl协议=任意yourcode.js


感谢您的所有回答,它们确实很有帮助

请注册到、和活动。可能有错误。另外,您使用的是哪个版本的PhantomJS和CasperJS?
url = "https://example.com/";
casper.start(url, function () {
    this.echo('url: ' + url); 
});

casper.waitFor('input#SubmitButton', function () {
    this.echo('Page title: ' + this.getTitle());
    this.echo('Clicking submit button...');
    this.click('input#SubmitButton');
    }, function onTimeout(){
    this.echo("The submit button did not appear within 15 seconds...");
    }, 15000 ); //15 second timeout