DMf*_*fll 7 javascript node.js zombie.js io.js
工具
尝试1
尝试2
命令:
const Browser = require('zombie');
var url = 'https://google.com'
var browser = new Browser();
browser.open(url=url)
browser.open('http://google.com', function(err) { browser.assert.success();
});
browser.assert.text('title', 'Google');
Run Code Online (Sandbox Code Playgroud)
两台机器上的结果减去文件路径差异:
assert.js:93
throw new assert.AssertionError({
^
AssertionError: No open window with an HTML document
at Browser.queryAll (/home/dmmmd/Dropbox/node_js_projects/node_modules/zombie/lib/index.js:432:5)
at Assert.text (/home/dmmmd/Dropbox/node_js_projects/node_modules/zombie/lib/assert.js:307:33)
at Object.<anonymous> (/home/dmmmd/Dropbox/node_js_projects/affinity-zombie/sample_zombie.js:7:16)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:935:3
Run Code Online (Sandbox Code Playgroud)
在zombie浏览器上阅读文档后,我错过了什么?提前致谢.
我尝试了其他一些网址,甚至是localhost也没有成功.
JavaScript,node.js,io.js和zombie对我来说都是新手,所以我基本上只是遵循文档和stackoverflow问题的方法.我将不胜感激任何建议.我怀疑我错过了一些非常简单的事情.
这个问题已经有一段时间没有答案了,但我最近一直在解决类似的错误消息。
TL;DR - 用户 browser.visit 而不是 browser.open() 并传入回调函数以确保正确填充浏览器的状态。
您可以通过多种方式执行此操作:
const Browser = require('zombie');
var url = 'https://stackoverflow.com'
Browser.visit(url, function(error, browser) {
browser.assert.text('title', 'Stack Overflow');
});
Run Code Online (Sandbox Code Playgroud)
const Browser = require('zombie');
var url = 'https://stackoverflow.com'
var browser = new Browser();
browser.visit(url, function() {
browser.assert.text('title', 'Stack Overflow');
});
Run Code Online (Sandbox Code Playgroud)
const Browser = require('zombie');
var url = 'https://stackoverflow.com'
var browser = new Browser();
browser.visit(url).then(function() {
browser.assert.text('title', 'Stack Overflow');
});
Run Code Online (Sandbox Code Playgroud)
const Browser = require('zombie');
var url = 'https://stackoverflow.com'
var browser = new Browser();
browser.visit(url, function(){}); // NB: no-op callback!
browser.assert.text('title', 'Stack Overflow');
Run Code Online (Sandbox Code Playgroud)
browser.open() 方法打开一个新的浏览器选项卡并采用包含 url 属性的 JavaScript 对象,因此您的原始代码有语法错误,该行
browser.open(url=url)
Run Code Online (Sandbox Code Playgroud)
应该读
browser.open({url: url})
Run Code Online (Sandbox Code Playgroud)
但尚不清楚 open 方法是否确实使新选项卡访问该 url - 至少从粗略阅读源代码来看是这样。为了安全起见,请使用 browser.visit() 。
| 归档时间: |
|
| 查看次数: |
2469 次 |
| 最近记录: |