我是zombie JS的新手。我想填写登录字段并发布登录表单。我试图在zombiejs中对此进行编码,但是低于错误。
未处理拒绝错误:超时:未加载此页面上的所有资源 在超时(C:\ Users \ sapna.maid \ Desktop \ nodejs \ index \ node_modules \ zombie \ lib \ eventloop.js:601:38) 在Timer.listOnTimeout(timers.js:92:15)
我的代码段如下:
var zombie = require("zombie");
zombie.waitDuration = '30s';
//Browser.waitDuration = '300s';
var assert = require("assert");
browser = new zombie({
maxWait: 10000,
waitDuration: 30*1000,
silent: true
});
browser.visit("https://example.com", function () {
// fill search query field with value "zombie"
console.log("LOADEDDDD !!!!", browser.location.href);
console.log(this.browser.text('title'));
assert.equal(this.browser.text('title'), 'Welcome - Sign In');
browser.fill('#user', 'user@example.com');
browser.fill('#pass', 'pass@123');
browser.document.forms[0].submit();
console.log(browser.text('title'));
// wait for new page to be loaded then fire callback function
browser.wait(5000).then(function() {
// just dump some debug data to see if we're on the right page
console.log(this.browser.success);
assert.ok(this.browser.success);
console.log("Browser title:: --------- " + this.browser.text('title'));
assert.equal(this.browser.text('title'), 'Dashboard');
})
});
请帮我解决此问题。 我被困在这里很长一段时间。 提前谢谢!
答案 0 :(得分:0)
第一个问题是下面的断言失败,因为www.example.com
的标题是Example Domain
而不是Welcome - Sign In
assert.equal(this.browser.text('title'), 'Welcome - Sign In');
此外,由于页面上没有带有此类ID的元素,因此这些行很可能也会失败。
browser.fill('#user', 'user@example.com');
browser.fill('#pass', 'pass@123');