在Zombie.js中使用jQuery

A. *_*uff 6 jquery zombie.js

我意识到还有其他库设计用于与Zombie一起使用类似jQuery的语法,但出于我的目的,我特别希望/需要使用jQuery本身以保持与一些早期编写的代码的兼容性.

我安装了npm jQuery包,我一直在尝试将jQuery导入到我的脚本中,然后使用Zombie返回的窗口初始化它,如下所示:

var Zombie= require("zombie"),
$ = require("jquery")
, zombie = new Zombie();

zombie.visit("http://www.mysite.com", function (err, browser, status) {
  if(err) {
    console.log("Error: " + err);
  }

  //Initialize a new jQuery instance with the current window returned by Zombie
  var $window = $(browser.window);
  //Get an actual jQuery object so we can search for stuff
  var document = $window("body");

  var inputBoxUsername = document.find("input#username");

  console.log(inputBoxUsername.html());
});
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为它说没有html()功能,jQuery实际上似乎没有返回我期待的对象.

有没有办法在僵尸中使用jQuery?

小智 3

如果您的站点已经加载了 jquery,您可以立即使用加载的 jQuery,这在某些情况下要容易得多。

var document = browser.window.$("body");
Run Code Online (Sandbox Code Playgroud)

将按预期工作,因为它是一个 jQuery 对象。

我认为您无论如何都可以添加脚本文件,这样您就可以动态地添加 jQuery 并使用它,就像我刚才提到的那样。

希望这可以帮助!