从命令行运行基于DOM的Javascript

时间:2019-01-11 14:40:40

标签: javascript dom

我有一些Javascript正在与网站上的DOM交互。

document.location.href="https://www.example.com";

它在Chrome控制台上运行良好,但我想从命令行运行该代码。我该怎么做? NodeJS给出“文档未定义”错误。

3 个答案:

答案 0 :(得分:1)

要使用命令行将Javascript代码注入浏览器的DOM中,您实际上需要... 运行Javascript代码广告的浏览器具有DOM

您可以使用Selenium之类的东西,也可以依赖https://github.com/prasmussen/chrome-cli之类的桥接库

答案 1 :(得分:0)

从浏览器运行代码时,将包含DOM api,因此您的代码将相应执行,并找到包含有关当前文档信息的location对象。当您尝试使用node.js从命令行运行它时,不包含DOM api,这就是为什么它会给您“未定义文档”错误的原因。 Node.js用于执行服务器端js代码。

答案 2 :(得分:0)

你要找的东西叫做jsdom! https://github.com/jsdom/jsdom