CasperJS文档captureSelector()没有说明如何设置屏幕截图的大小.默认情况下(至少在我的系统上使用webkit,Windows 8)似乎是截取页面左上角的一个小屏幕截图.
我在找错了地方吗?
我找到了viewportSize.我认为这是我需要的,但有没有人有代码可以将其设置为合理的默认值(如100%)?
仅供参考this.viewport('100%', '100%');,我认为不需要%.
我是否必须注入将窗口宽度和高度返回到页面中的代码并将其传回以提取它或者是否有更简单的方法?
我有以下表格:
<form id="MakeDocumentForm" name="MakeDocumentForm"
action="Document/GetWordDocument" method="post"
enctype="application/json">
<button type="submit" style="float:right;">Make Word Document</button>
<textarea id="hiddenJson"
name="hiddenJson"
data-bind="text: ko.toJSON(viewModel.selectedDocument)"
rows="5" cols="100"
style="visibility:hidden;" >
</textarea>
</form>
Run Code Online (Sandbox Code Playgroud)
该data-bind属性是knockoutjs - 但这并不重要,textarea正确包含作为序列化对象的JSON.
[HttpPost]
public void GetWordDocument(DocumentModel hiddenJson)
{
//hiddenJson is not a correctly populated instance of my DocumentModel class
//any MVC experts know what I am doing wrong?
}
Run Code Online (Sandbox Code Playgroud)
现在,我如何对MVC 3应用程序执行表单POST并获取反序列化的类?
任何人都知道如何在casperjs中找出这个错误的原因?我试图在运行时运行的测试脚本是:
var errors = [];
casper.on("page.error", function(msg, trace) {
this.echo("Error: " + msg, "ERROR");
this.echo("file: " + trace[0].file, "WARNING");
this.echo("line: " + trace[0].line, "WARNING");
this.echo("function: " + trace[0]["function"], "WARNING");
errors.push(msg);
});
casper.on('resource.received', function(resource) {
var status = resource.status;
if(status >= 400) {
casper.log('Resource ' + resource.url + ' failed to load (' + status + ')', 'error');
errors.push({
url: resource.url,
status: resource.status
});
}
});
casper.test.begin('Are we online?', 3, function suite(test) {
casper.start("http://www.google.com/", function() {
test.assertTitle("Google", "Connected to google, internet …Run Code Online (Sandbox Code Playgroud)