jjzjj

nightmare

全部标签

javascript - Nightmare Js 评估页面

我使用Nightmare.js运行以下代码:vartest=newNightmare().viewport(1000,1000).useragent("Mozilla/5.0(WindowsNT6.3;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/38.0.2125.111Safari/537.36").goto('https://en.wikipedia.org/wiki/Ubuntu').inject('js','jquery.js').wait(500).screenshot('page.png').evaluate(functi

javascript - Nightmare JS 不工作

我知道问题的标题看起来很模糊!但仅此而已。我在我的生产服务器上安装了nodejs,它让phantomjs正常工作,然后我通过npminstallnightmare安装了nightmare,我可以在node_modules中看到它,我尝试了开发人员在github上列出的示例:varNightmare=require('nightmare');varnightmare=Nightmare({show:true})nightmare.goto('http://yahoo.com').type('input[title="Search"]','githubnightmare').click('

javascript - 是否可以使用 Electron 进行复制/粘贴?

我正在使用Electron+Nightmare.js进行单元测试。我需要将一个字符串复制到剪贴板>聚焦一个元素>粘贴内容。然后测试我的JavaScript是否处理得当。我在Electron文档中阅读了关于clipboardapi的信息,和copy/pasteinwebview,但不确定它如何与Nightmare.jsAPI集成,可能在.action中作为suggestedinthisissue.一个例子是:importnightmarefrom'nightmare'nightmare.action('copyPaste',function(name,options,parent,win

javascript - Nightmare.js 屏幕截图缓冲区长度为 0

我正在运行一个nightmare.js脚本,我试图在其中截取页面上多个元素的屏幕截图。第一个元素被捕获得很好,但折叠下方的所有其他元素都被捕获为零长度。我正在努力调试这个问题。任何帮助将不胜感激。基本上,此脚本遍历页面并选择页面上所有与选择器匹配的元素。然后,它使用async收集响应并返回一个对象缓冲区。问题是折叠下方的元素不会被截屏(缓冲区长度最终为零)。我尝试wait()并滚动到该元素,但到目前为止我还没有成功。import*asNightmarefrom'nightmare'import*asvofrom'vo'import*asasyncfrom'async'import*as

javascript - NightmareJS 多重评估

当我运行一个评估时,NightmareJS工作得很好,但是当我与页面交互时,我需要在事情通过时做更多的评估。但是,使用文档我尝试了一个简单的链接评估示例,但出现错误:describe('testgooglesearchresults',function(){this.timeout(15000);it('shouldfindthenightmaregithublinkfirst',function(done){varnightmare=Nightmare({show:true})nightmare.goto('http://google.com').wait(1000).type('f

javascript - 如何将回调传递给传递给 "vo"库的生成器?

我试图了解回调的工作原理,因此我创建了一个函数并传递了第二个名为“callback”的参数,我在函数末尾用“callback(arr)”调用它。但是我收到一条错误消息:“回调不是函数”?你能告诉我我做错了什么吗?更新vo是一个nodejs库,它采用生成器函数*()并运行它的所有yields。它基本上是一种使用较少回调处理异步代码的方法(是的,我知道我也使用了回调,但这几乎是一个选择)。做完全相同事情的一个更流行的库是co。VO链接:https://github.com/matthewmueller/vovarNightmare=require('nightmare');varvo=re

javascript - 使用 Nightmare/Electron 进行动态分页(页面抓取)

我正在尝试使用Nightmare/Electron抓取动态分页网站。我看不到执行do...的方法,直到使用Nightmare函数或使用逻辑链接评估调用的方法。这是一个简单的代码示例,它仅通过Google搜索一个短语并返回第1页的结果hrefs。我希望此代码对结果中的每个页面继续。varNightmare=require('nightmare');varvo=require('vo');vo(function*(){varnightmare=Nightmare({show:true});varlinks=yieldnightmare.goto('http://www.google.com

javascript - 从 Nightmare.js 返回 HTML 正文

我目前正在使用cheerio和nightmare进行一些抓取。我同时使用两者而不仅仅是cheerio的原因是因为我必须操纵网站才能到达我想要抓取的部分,而且我发现nightmare非常擅长执行这些脚本。所以,现在我正在使用nightmare来获取显示我需要的信息的部分。之后,在evaluate()上,我试图以某种方式返回当前的html,然后将其传递给cheerio进行抓取。问题是我不知道如何从document对象中检索html。文档中是否有返回完整正文的属性?这是我正在尝试做的事情:varNightmare=require('nightmare');varnightmare=Night

javascript - 在没有 ES6 语法和 yield 的情况下使用 Nightmare.js

我使用nightmare.js构建了一个简单的Node脚本来抓取网站varNightmare=require('nightmare');varvo=require('vo');vo(run)(function(err,result){if(err)throwerr;});function*run(){varx=Date.now();varnightmare=Nightmare();varhtml=yieldnightmare.goto('http://google.com').evaluate(function(){returndocument.getElementsByTagName

javascript - 如何在 NightmareJs 中发起 POST 请求

我一直在用PhantomJs和CasperJs编写一些测试用例。最近我偶然发现了使用ElectronJs的NightmareJs。我想知道我是否可以在NigthmareJs中自动执行POST请求(如下所示)(可能使用goto,但我没有看到任何关于传递参数和更改方法的规范):PhantomJs代码:page.open(url,'post',params,function(status){/*something*/});如果可以,我可以循环几次以监控所用时间。 最佳答案 我想你在找node-rest-clientvarClient=re
12