navalia 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
navalia 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
navalia 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 GPL-3.0 License
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 大数据数据查询
开源组织
地区 不详
投 递 者 首席测试
适用人群 未知
收录时间 2021-11-23

软件简介

Navalia Logo

npm version Build Status dependencies Status styled with prettier

DEPRECATION WARNING: Unfortunately it's time for me to deprecate this library as I cannot give it the time it needs. If you're interested in maintaining this lib, send me message (joel at joelgriffith dot net). I'd recommend using something like chromeless or puppeteer if possible. Thanks!

The bullet-proof, fast, and most feature-rich Chrome driver around. Navalia lets you interact with Chrome and run parallel work with ease. Not using JavaScript? There's a GraphQL server that you can use to communicate with over HTTP allowing any runtime to drive Chrome.

Features

  • Scrape webpage data, even from JavaScript-heavy sites.
  • Run automated functional tests.
  • Discover visual regressions in your site.
  • Capture screenshots, pdfs, execute javascript, insert text, and more.
  • The largest API for interacting with Chrome.

GraphQL Front-end

Simply run navalia with a specified port e.g.

$ npm i -g navalia
$ navalia --port 4000

NavaliaQL

Recipes

Usage

The API for interacting with a browser is simple and chainable. You can call all methods individually and await/then the resulting value, or chain multiple together and collect their responses in a single result.

Chaining

const { Chrome } = require('navalia');
const chrome = new Chrome();

chrome
  .goto('https://amazon.com')
  .type('input', 'Kindle')
  .click('.buy-now')
  .end()
  .then((responses) => {
    console.log(responses); // ['https://www.amazon.com/', true, true, true]
  });

Await

import { Chrome } from 'navalia';
const chrome = new Chrome();

async function buyItOnAmazon() {
  const url = await chrome.goto('https://amazon.com');
  const typed = await chrome.type('input', 'Kindle');
  const clicked = await chrome.click('.buy-now');

  chrome.done();

  console.log(url, typed, clicked); // 'https://www.amazon.com/', true, true
}

buyItOnAmazon();

Roadmap

In no particular order, this is the vision of navalia going forward:

  • Expanded browser API (pdf rendering, network watching, more).
  • Bring more vendors onto the framework.
  • Better typings around externals with no @type support.
  • Parameterization on killing long-running jobs.
  • Unit testing all features.
  • Integration testing with the various vendors so our API's don't break when theirs do.
  • Travis, coveralls, greenkeeper, and other handy-dandy tools to automate chore tasks.
展开阅读全文

代码

评论

点击引领话题📣
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
diff 存在拒绝服务漏洞
diff 是一个 javascript 文本差异实现。此软件包的受影响版本容易受到正则表达式拒绝服务 (ReDoS) 的攻击。
MPS-2022-12883
2022-08-08 20:43
merge package 输入验证错误漏洞
输入验证不恰当
merge package是一个用于将多个对象合并为一个的软件包。 merge package 1.2之前版本中的‘merge.recursive’函数存在安全漏洞。攻击者可利用该漏洞造成拒绝服务。
CVE-2018-16469 MPS-2018-14306
2022-08-08 20:43
handlebars 安全漏洞
handlebars是一款语义化的Web模板系统。 handlebars 4.7.7版本之前存在安全漏洞,该漏洞源于在选择某些编译选项来编译来自不受信任的源的模板时,handlebars容易受到远程代码执行(Remote Code Execution, RCE)的攻击。
CVE-2021-23369 MPS-2021-4548
2022-08-08 20:43
handlebars 存在拒绝服务漏洞
拒绝服务
handlebars 是 Mustache 模板语言的扩展。此软件包的受影响版本容易受到原型污染。
MPS-2022-13734
2022-08-08 20:43
lodash 存在拒绝服务漏洞
拒绝服务
lodash 是一个现代 JavaScript 实用程序库,提供模块化、性能和附加功能。此软件包的受影响版本容易通过 setWith 和 set 函数受到原型污染。
MPS-2022-13842
2022-08-08 20:43
node-tar 后置链接漏洞
在文件访问前对链接解析不恰当(链接跟随)
node-tar是一款用于文件压缩/解压缩的软件包。 node-tar 4.4.2之前版本中存在后置链接漏洞。该漏洞源于网络系统或产品未正确过滤表示非预期资源的链接或者快捷方式的文件名。攻击者可利用该漏洞访问非法的文件路径。
CVE-2018-20834 MPS-2019-4705
2022-08-08 20:43
fstream 后置链接漏洞
在文件访问前对链接解析不恰当(链接跟随)
fstream是一个用于读取和写入文件的库。 fstream 1.0.12之前版本中的‘fstream.DirWriter()’函数存在后置链接漏洞。该漏洞源于网络系统或产品未正确过滤表示非预期资源的链接或者快捷方式的文件名。攻击者可利用该漏洞访问非法的文件路径。
CVE-2019-13173 MPS-2019-7423
2022-08-08 20:43
Undefsafe存在未明漏洞
注入
Undefsafe是一款支持设置值的函数。 Undefsafe2.0.3之前版本中存在安全漏洞。攻击者可利用该漏洞借助‘a’函数添加或修改Object.prototype属性。
CVE-2019-10795 MPS-2020-2617
2022-08-08 20:43
Mikaelbr Node-notifier 操作系统命令注入漏洞
命令注入
Mikaelbr Node-notifier是Mikaelbr个人开发者的一个基于Javascript的用于为Mac、Windows、Linux发送统治的代码库。 node-notifier 9.0.0之前版本存在安全漏洞,该漏洞允许攻击者可利用该漏洞在Linux机器上运行任意命令,因为在传递数组时,选项参数没有被清除。
CVE-2020-7789 MPS-2020-17637
2022-08-08 20:43
yargs-parser 输入验证错误漏洞
输入验证不恰当
yargs-parser是一款选项解析器。 yargs-parser 13.1.2之前版本、14.0.0及之后版本(15.0.1版本已修复)和16.0.0及之后版本(18.1.1版本已修复)中存在输入验证错误漏洞。攻击者可借助‘__proto__’payload利用该漏洞添加或修改Object.prototype属性。
CVE-2020-7608 MPS-2020-4006
2022-08-08 20:43
follow-redirects project信息暴露漏洞
信息暴露
Exposure of Sensitive Information to an Unauthorized Actor in NPM follow-redirects prior to 1.14.8.
CVE-2022-0536 MPS-2022-3636
2022-08-08 20:43
extend module 注入漏洞
注入
extend module是一个jQuery的经典extend()方法的端口。 extend 2.0.2之前版本和3.0.0版本至3.0.2版本中存在注入漏洞,该漏洞源于用户输入构造命令、数据结构或记录的操作过程中,网络系统或产品缺乏对用户输入数据的正确验证,未过滤或未正确过滤掉其中的特殊元素,导致系统或产品产生解析或解释方式错误。
CVE-2018-16492 MPS-2019-1232
2022-08-08 20:43
shell-quote 安全漏洞
命令注入
shell-quote是开源的一个软件包。用于解析和引用 shell 命令。 shell-quote package存在安全漏洞,攻击者可利用该漏洞可以植入任意代码从而执行相关操作。
CVE-2021-42740 MPS-2021-34136
2022-08-08 20:43
Npm Ini 资源管理错误漏洞
拒绝服务
Npm Ini是美国Npm公司的一个基于Javascript的用于解析和序列化Ini格式文件的代码库。 Npm ini before 1.3.6 存在资源管理错误漏洞,该漏洞允许攻击者可利用该漏洞向应用程序提交恶意的INI文件,该应用程序将用INI解析该文件。这可以根据上下文进一步加以利用。
CVE-2020-7788 MPS-2020-17544
2022-08-08 20:43
nodejs 资源管理错误漏洞
拒绝服务
nodejs是是一个基于ChromeV8引擎的JavaScript运行环境通过对Chromev8引擎进行了封装以及使用事件驱动和非阻塞IO的应用让Javascript开发高性能的后台应用成为了可能。 nodejs-glob-parent 存在安全漏洞,该漏洞源于正则表达式拒绝服务。
CVE-2020-28469 MPS-2021-7827
2022-08-08 20:43
Hoek 访问控制错误漏洞
MAID
Hoek是一个hapi系统的实现。 Hoek 4.2.0之前版本和5.0.3之前的5.0.x版本中存在访问控制错误漏洞。本地攻击者可借助‘merge’和‘applyToDefaults’函数利用该漏洞修改‘Object’的原型。
CVE-2018-3728 MPS-2018-3882
2022-08-08 20:43
handlebars 注入漏洞
原型污染
handlebars是一款语义化的Web模板系统。 handlebars 4.3.0之前版本中存在注入漏洞。攻击者可借助特制的payloads利用该漏洞执行任意代码。
CVE-2019-19919 MPS-2019-16888
2022-08-08 20:43
kind-of注入漏洞
将资源暴露给错误范围
kind-of是一款JavaScript类型检查软件包。 kind-of v6.0.2版本中的index.js文件的‘ctorName’函数存在注入漏洞,攻击者可利用该漏洞覆盖内部属性,操纵类型检查的结果。
CVE-2019-20149 MPS-2019-17164
2022-08-08 20:43
lodash node模块安全漏洞
lodash node module是一款开源的JavaScript实用程序库,它主要提供模块化等功能。 lodash node模块4.17.5之前版本中存在安全漏洞。远程攻击者可借助‘defaultsDeep’、‘merge’和‘mergeWith’函数利用该漏洞造成拒绝服务(崩溃或返回500错误)并可能执行代码。
CVE-2018-3721 MPS-2018-7315
2022-08-08 20:43
minimist 输入验证错误漏洞
原型污染
minimist是一款命令行参数解析工具。 minimist 1.2.2之前版本存在输入验证错误漏洞。攻击者可借助‘constructor’和‘__proto__’ payload利用该漏洞添加或修改Object.prototype的属性。
CVE-2020-7598 MPS-2020-3516
2022-08-08 20:43
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
0 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部