Tag: phantomjs

PhantomJs与节点

我试图使用phantomjs与节点来获取网页上的屏幕截图。 我几乎所有的,但我面临的问题在滚动。 我已经使用了滚动位置,但不能正确滚动。 phantom.create() .then(instance => { return instance.createPage(); }) .then(page => { _pageInstance = page; return _pageInstance.open('xyz')}) .then(){ () => { detailPage = _pageInstance.evaluate(function() { var pageSettings = { scrollToPos: [], elementHeight: [], offsetLeft: [] }; jQuery('li.diff-comment-activity').each(function(index, item) { var offsetTop = jQuery('li.diff-comment-activity .detail')[index].offsetTop; var elmntHeight = jQuery('li.diff-comment-activity .detail')[index].offsetHeight; var offsetLeft = jQuery('li.diff-comment-activity')[index].offsetLeft; pageSettings.scrollToPos.push(offsetTop); […]

使用WebdriverJS禁用GhostDriver,PhantomJS的控制台日志

我一直在试图找出如何禁用令人讨厌的控制台日志,当我们用webdriverjs运行phantomjs(鬼驱动程序),但徒劳无功。 [INFO – 2016-10-09T14:57:15.039Z] GhostDriver – Main – running on port 62381 [INFO – 2016-10-09T14:57:15.084Z] Session [aa75cc80-8e30-11e6-8da5-a561819d4151] – page.settings – {"XSSAuditingEnabled":false,"javascriptCanCloseWindows":true,"javascriptCanOpenWindows":true,"javascriptEnabled":true,"loadImages":true,"localToRemoteUrlAccessEnabled":false,"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1","webSecurityEnabled":true} [INFO – 2016-10-09T14:57:15.084Z] Session [aa75cc80-8e30-11e6-8da5-a561819d4151] – page.customHeaders: – {} [INFO – 2016-10-09T14:57:15.084Z] Session [aa75cc80-8e30-11e6-8da5-a561819d4151] – Session.negotiatedCapabilities – {"browserName":"phantomjs","version":"2.1.1","driverName":"ghostdriver","driverVersion":"1.2.0","platform":"mac-10.10 (Yosemite)-64bit","javascriptEnabled":true,"takesScreenshot":true,"handlesAlerts":false,"databaseEnabled":false,"locationContextEnabled":false,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"cssSelectorsEnabled":true,"webStorageEnabled":false,"rotatable":false,"acceptSslCerts":false,"nativeEvents":true,"proxy":{"proxyType":"direct"}} [INFO – 2016-10-09T14:57:15.084Z] SessionManagerReqHand […]

可视化代码debugging错误:ENOENT:没有这样的文件或目录,打开'.env'

IAM新的node.js风帆框架。 我已经安装了sails并使用命令创build了我的第一个应用程序 sails new testapp 我已经成功运行/debugging使用Visual Studio代码的示例应用程序。 但我不能debugging我使用sails创build的另一个代码。当试图debugging应用程序,visual studiodebugging器产生这样的错误 node –debug-brk=42607 –nolazy app.js Debugger listening on port 42607 { [Error: ENOENT: no such file or directory, open '.env'] errno: -2, code: 'ENOENT', syscall: 'open', path: '.env' } 与此有关的实际问题是什么?

尝试使用casperjslogin到网站。 提交表单会产生一个ajax请求

捕获的结果给了我一个login页面的图片,它带有一个正在进行的gif,它没有显示仪表盘的图片,或者是什么login后的页面,这是我想要的。 我尝试使用所有types的waitfor(),但我失败了。 var casper = require("casper").create({ userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22', pageSettings : { userAgent : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36" }, verbose : true, logLevel : "debug", clientScripts : ["jquery.js"] }) var fs = require("fs"); casper.on("error", function(msg){ this.echo("error: " […]

PhantomJS令人难以置信的慢,节点进程有CPU在100%

我只是为了看看它是如何工作,看起来是超慢,并在运行时钉住CPU。 我觉得我一定在做错事。 我觉得我的代码不应该钉住CPU,只需要几秒钟的运行,但最终会花费20多秒。 我的代码和输出如下。 var phantom = require('phantom'); const startTime = new Date().getTime(); let page = null; function gimmeTime() { return new Date().getTime(); } phantom.create(['–ignore-ssl-errors=yes', '–load-images=no'], { phantomPath: './node_modules/phantomjs-prebuilt/bin/phantomjs' }) .then(instance => { phInstance = instance; return instance.createPage(); }) .then(p => { console.log(gimmeTime() – startTime); page = p; return page.open("http://www.slickdeals.com/"); }) .then(status => { console.log(gimmeTime() […]

ied安装程序与phantomjs / phantomjs-prebuilt

安装并行子依赖的Ied安装程序与phantomjs / pahtnomjs-prebuilt有一个问题。 问题是用phantomjs(如果在pc /虚拟机中不存在,从github下载)自定义npm安装程序安装软件包,并将它的path设置在lib文件夹的location.js中,这也是由于安装程序而不存在的。 您可以在第18行的lib / phantomjs.js文件中查看它 try { var location = require('./location') exports.path = path.resolve(__dirname, location.location) exports.platform = location.platform exports.arch = location.arch } catch(e) { // Must be running inside install script. exports.path = null }

在AWS弹性beanstalk上产生casperjs ENOENT错误

我正在试图使用SPOOKY在nodejs上运行casper scraper。 当我在本地主机上运行时,scrapper工作正常,但是当我在AWS elastic beanstalk服务器上部署项目时,出现以下错误。 Error: spawn casperjs ENOENT at exports._errnoException (util.js:1018:11) at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32) at onErrorNT (internal/child_process.js:367:16) at _combinedTickCallback (internal/process/next_tick.js:80:11) at process._tickCallback (internal/process/next_tick.js:104:9) [nodemon] app crashed – waiting for file changes before starting… 我已经尝试设置binPath: './node_modules/casperjs/bin/casperjs'"并试图在全球范围内安装Casper,但无法执行此操作,还添加了command: /^win/.test(process.platform) ? 'casperjs.cmd' : 'casperjs',给孩子,但是也没有成功。 我一直在寻找这一个多星期,但没有成功。 请帮我解决这个问题。

页眉中的PhantomJS部分名称

我正在使用PhantomJS将HTML呈现为PDF。 这是相当不错的工具。 它允许在页眉中放置html。 并允许用当前页面的编号replace一些像pageNum这样的模板variables。 但现在我需要在页面标题中放一些“Section header”,以便在每一页显示当前的章节名称。 例如: =====Page 1. Chapter: Quick start===== <h1>Quick start</h1> Some text about quick start =====Page 2. Chapter: Quick start===== Some text about quick start =====Page 3. Chapter: Installation===== <h1>Installation</h1> Some text about installation =====Page 2. Chapter: Installation===== Some text about installation ==== 其他一些工具,如wkhtmltopdf,允许这样做。 wkhtmltopdf将[部分] var传递给头文件。 但在PhantomJS中如何做到这一点?

如何使用phantomjs或其他浏览器在nodejs中创buildWeb代理?

我一直在尝试使用phanthonjs或类似的方式创build一个Web代理服务器,并在浏览器中查看和导航 var phantom = require('phantom'); phantom.create().then(function(ph) { ph.createPage().then(function(page) { page.open('https://stackoverflow.com/').then(function(status) { console.log(status); page.property('content').then(function(content) { console.log(content); page.close(); ph.exit(); }); }); }); });

AWS Lambda中的PhantomJS(缺lesslibfontconfig)

我试图让我的lambda函数使用phantomjs,但它一直运行到一个缺less的依赖关系的错误:libfontconfig / fontconfig。 在我的Centos VPS上安装fontconfig(dnf install fontconfig -y)时,我的代码工作正常。 然而,在lambda上运行时,我无法弄清楚如何让这个库运行我的function。 这是我的代码:(试图通过使用phantomjs的AliExpress软件包获得最畅销的产品) const aliExpress = require('aliexpress'); exports.handler = (event, context, callback) => { console.log('Handler ran!'); aliExpress.BestSelling.get().then((goods) => { console.log('Found results!'); const urls = []; for(let index in goods) { const url = goods[index].url; urls.push(url); } console.log('Returning URLs:'); console.log(urls); callback(null, urls); }).catch((err) => { console.log('Error:'); console.log(err); callback(err); }); […]