CasperJS的启动在应该有重定向时不起作用
CasperJS' start is not working when there should have been a redirect
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');
...
当我在普通浏览器中请求portalUrl("https://example.com/")时,它会重定向到ADFS登录页面"ADFSloginUrl",但使用CasperJS无法访问ADFS的登录页面。
在上面的代码中,请求的页面未加载。所以'this.getTitle()'是空的,无法访问CasperJS的提交按钮。
访问提交按钮时,它会给出以下错误:
"消息:CasperError:无法在不存在的选择器上调度鼠标关闭事件:输入#提交按钮"
这和casper.start
有什么关系吗?
--ssl-protocol=any 已经为我解决了这个问题。Casperjs --SSL-protocol=any yourcode.js
感谢您的所有回答,他们真的很有帮助
如何使用waitFor
:
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
如果这确实有效,则可能表明重定向发生在JavaScript级别,而不是HTTP级别。(无论如何,这是一个很好的方法,否则细微的计时错误可能会渗透到您的代码中。
或者,看看这个错误报告,它指出PhantomJS和SlimerJS的行为有点不同。
相关文章:
- 在phonegap应用程序内部重定向不起作用
- 角度 JS + 重定向不起作用
- 从帖子返回后,Javascript重定向不起作用
- 重定向不起作用
- 登录后PHP登录脚本重定向不起作用
- 使用window.location.replace重定向不起作用
- HTML POST->重定向工作,XMLHTTPrequest->重定向不起作用(无法从null发出任何请求
- Javascript window.location.href重定向不起作用
- JavaScript确认重定向不起作用
- 按钮重定向不起作用
- 使用AJAX从服务器获取数据后,如何重定向到另一个URL?URL重定向不起作用
- 如果 javascript 条件为 true 则重定向不起作用
- 页面刷新时的页面重定向不起作用
- 重定向不起作用/警报无显示
- Firefox的post重定向不起作用
- 清除字段按钮(重定向不起作用)
- Angular重定向不起作用
- Angular.js -重定向不起作用
- 使用servlet的重定向不起作用
- 使用document ready重定向不起作用