如何findnode.js页面上的所有链接?

我现在在学习node.js(webdriver),并且不能理解一些问题。 我试图在互联网search,没有find任何我需要的任务的例子。 例如,我如何login来控制页面上的所有链接(例如bing.com)? 我不明白为什么这样简单的JavaScript结构 document.getElementsByTagName('a'); 在node.js中不起作用 如果我使用 findElement(webdriver.By.tagName('a')) 我在页面上只有第一个链接,为什么? 数组在nodejs中不可用? 如果不可能,应该使用哪个模块(例子)。 就目前来看,我的印象是,即使是一个简单的function需要额外的模块,因此我所有的第一步都失败了,因为我正在尝试做任何事情,像在JavaScript中。 谢谢

如何使用grunt连接angularjs文件

我有一个angularjs应用程序。 我想连接所有的angularjs文件到单个文件。 我正在使用grunt并search关于连接grunt插件。 我发现有grunt-contrib-concat和grunt-concat-in-order插件。 但是,我无法find关于如何连接依赖文件的例子的答案。 请让我知道如何使用grunt-concat-in-order插件指定依赖关系。 注意:在grunt-concat-in-order文件中,它指出了指定framework.require(“moduleA”)。 但不知道什么框架。 有没有什么有效的方法来指定一个文件中的依赖关系? 在此先感谢Rajaguru

Mongodb / Mongoose查询

User有一堆Essays ,作为一个ObjectIds数组存储。 在CoffeeScript中,模式是: User = new Schema essays: [Schema.Types.ObjectId] name: String Essay = new Schema grade: Number text: String author: Schema.Types.ObjectId 如何在一个查询中获得最近一篇文章写在最后一天, 最近一篇文章的评分在80到90之间的所有不同用户? 我有这个(在CoffeeScript中): req.mongoose.Essay .find( _id: $gt: # trick which creates an ObjectId with yesterday's timestamp mongoose.Types.ObjectId.createFromHexString( (~~(yesterday.getTime() / 1000)).toString(16) + "0000000000000000" ) ) .where("grade").gt(80).lt(90) .popluate(path: "User") .exec (err, docs) -> console.log ({name: essay.author.name} […]

在mysql中的语句中计数

我有一个类似这样的查询。 SELECT t.* FROM (SELECT `user_bookmarks`.`id` AS `user_bookmark_id`, `bookmark_id`, `user_bookmarks`.`user_id`, `bookmark_url`, `bookmark_website`, `bookmark_title`, `bookmark_preview_image`, `bookmark_popularity`, `category_id`, `category_name`, `pdf_txt_flag`, `youtube_video`, `content_preview`, `snapshot_preview_image`, `mode` , @r:= CASE WHEN category_id = @g THEN @r+1 ELSE @r:=1 END `rank` , @g:=category_id FROM `user_bookmarks` LEFT JOIN `bookmarks` ON `user_bookmarks`.`bookmark_id` = `bookmarks`.`id` LEFT JOIN `categories` ON `user_bookmarks`.`category_id` = `categories`.`id` JOIN (SELECT […]

如何在angularjs中访问由passportjs设置的cookie

我真的希望这不是一个愚蠢的问题,但我怀疑是这样。 我search了一切可以理解的事情,但是我仍然不明白如何阅读使用nodejs / express / passport设置的cookie。 我使用Angular的ngCookies和$ cookies服务,但是当我尝试打印出我在服务器端设置的cookie时,我看到了这个(使用console.log($ cookies [“connect.sess”])) s:j:{"passport":{"user":{"id":1,"email":"xxxxxx@yyyy.com","role":"Admin"}}}.0lKpQzpgzCAjgkIayDkUiOLhktIYsohr61U/4xSwWFA 我的cookie在那里。 但是,它们都是作为一个string存储的。 我应该看一个不同的对象吗? 它不会让我访问 – > $cookies["connect.sess"].passport 因为这是不明确的,因为$ cookies [“connect.sess”]返回一个string。 任何提示,我要去哪里错了? 我需要做的就是访问服务器中设置的这些cookie。 我不需要改变它们。 我希望在这方面额外的眼睛会做的伎俩。 我很难过 我尝试通过使用res.cookie设置我自己的cookie。 在我创buildcookie的服务器端,它看起来很好。 但是在那里和angular度之间,它看起来像“j:{我的json曲奇}”这次没有:前面,没有结束的gobble-de-gook。 当然,我可以parsing这些东西,并find我的JSON,但这东西得到补充,为什么? 我做了一些戳动作和快速response.cookie添加j:如果你传递一个对象json的前面。 和s:与json对象之后的blurb是他们签名cookie的方式。 所以我发现我真的不需要护照发送的会话cookie。 我可以使用会话cookie中的userid在服务器端进行身份validation,并使用以下命令创build自己的电子邮件和angular色cookie: res.cookie("email", user.email, {my cookie options}) res.cookie("role", user.role, {my cookie options}) 而不是尝试用json对象填充会话cookie。 我在下面select的答案是我所知道的最好的select。 虽然我觉得很难相信你必须从字符上去掉字符才能正确地获取客户端的cookies。 似乎很奇怪。 我是一个cookie新手,所以如果任何人有一个解释或阅读的好链接,我很乐意听到它。

在Ubuntu 14.节点和NVM安装破坏任何想法我应该做什么?

which node 回报 / usr / sbin目录/节点 which nvm 什么也不返回 nvm ls什么也没有返回 快递不再有效 如果我尝试curl https://raw.githubusercontent.com/creationix/nvm/v0.11.1/install.sh | bash curl https://raw.githubusercontent.com/creationix/nvm/v0.11.1/install.sh | bash 它说 nvm已经安装在/home/adam/.nvm,试图更新=> HEAD现在在7a423b7 … v0.11.1错误:找不到分支'master'。 确实.nvm就在那里。 任何想法我应该做什么卸载一切,重新安装或修复我的安装?

Node.js如何将gzipstreampipe道写入stream

我似乎无法得到这个工作。 我想写一些数据到gzipstream,然后pipegzipstream到一个文件写入stream。 我想在文件完成写入时调用函数。 我目前有: var gz = zlib.createGzip() .pipe(fs.createWriteStream(gz_path)); gz.write(data); gz.on('error', function(err){ console.log("wtf error", err); }); gz.on('finish', function(){ console.log("write stream is done"); dosomething(); }); 结束事件或错误事件永远不会被调用。

将可变长度数组传递给Node JS

有没有办法调用一个可变长度的插件函数。 我把用户input变成一个看起来像的variables Uinput = [5,3,2]; 现在我想打电话给我的插件基于这些数字,所以它会 addon.myaddon(5,3,2); 我也想扩展到n个input,所以如果我的variables的用户input成为 Uinput = [5,3,2,6,…,n]; 那么插件就会被调用 addon.myaddon(5,3,2,6,…,n); addon.myaddon(Uinput) // will not seperate the inputs by commas are they are in the array variable, it treats the whole array as the input 这似乎很简单,但它给我一些麻烦。 有小费吗 ?

Express布局错误 – variables未定义

我正在使用express-ejs-layouts,并在控制台日志中看到以下错误: >> 5| <title><%= title %></title> title is not defined 我确实在我的layout.ejs文件中定义了以下元素: <title><%= title %></title> 我从我的一个path文件中填充这个variables: router.get('/', function(req, res) { res.render('index', { title : 'Express' }); }); 任何想法我失踪? 谢谢!

OpenShift从另一个设备访问MySQL

我在OpenShift有两个应用程序。 一个正在运行一个MySQL磁带的可销售的PHP设备。 另一个是node.js的齿轮。 我如何从node.js访问这个MySQL数据库