我有一些Javascript正在与网站上的DOM交互。
document.location.href="https://www.example.com";
它在Chrome控制台上运行良好,但我想从命令行运行该代码。我该怎么做? NodeJS给出“文档未定义”错误。
答案 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