首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用NW.js构建跨平台桌面应用(1)-入门案例

NW.js的用途 NW.js 基于 Chromium 和 Node.js,从而可以在桌面app中使用浏览器开发技术并直接调用 Node.js 资源,甚至将一个web应用打包到本地也轻而易举。.../path/to/nw 是 NW.js 的二进制运行文件; 在Windows上是nw.exe,在Linux上是nw,而在Mac则是nwjs.app/Contents/MacOS/nwjs Linux和Mac...可能需要sudo提升运行权限 例如mac上用如下方式启动:sudo ~/nwjs/nwjs.app/Contents/MacOS/nwjs . ?...Settings" 和 "Window Settings" 两个界面中的内容,可自行补充 在 "Export Settings" 中,选择要发布的平台种类,屏蔽一些无用文件等 在 "Compression...Settings" 中,选择压缩级别;高压缩级别会带来相应的启动时间变长,并可能造成打包后的程序运行失败 在 "Download Settings" 中,将第一步中下载的“非sdk版程序包的.zip文件

4.2K20

你现在可以玩下这 5 个 CSS 新功能

} 运行结果如下: image.png 但是,如果你也想在网格布局中包括.grid-container的某些(或全部)子孙元素怎么办?....grid-item的子元素将形成子网格。 一个网格项目可以跨越多个网格单元。 例如,这里它分布在四个像元上(在上面的示例中grid-column和grid-row的值是任意的)。...它使.grid-item的子级包含在网格布局中: image.png 子网格已成为网格布局的一部分,并且已定位到我们想要的确切位置(在第二和第四条垂直网格线之间,以及在第一和第三条水平网格线之间)。...3. content-visibility 属性 在Chromium 85中,content-visibility属性可能是在提高页面加载性能方面最具影响力的新CSS属性之一。...虽然截止到目前只有Chromium 85中支持content-visibility属性(and deemed "worth prototyping" for Firefox),但是大多数现代浏览器均支持

48030
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    5 个 CSS 新功能

    } 运行结果如下: 但是,如果你也想在网格布局中包括.grid-container的某些(或全部)子孙元素怎么办?....grid-item的子元素将形成子网格。 一个网格项目可以跨越多个网格单元。 例如,这里它分布在四个像元上(在上面的示例中grid-column和grid-row的值是任意的)。...它使.grid-item的子级包含在网格布局中: 子网格已成为网格布局的一部分,并且已定位到我们想要的确切位置(在第二和第四条垂直网格线之间,以及在第一和第三条水平网格线之间)。...3. content-visibility 属性 在Chromium 85中,content-visibility属性可能是在提高页面加载性能方面最具影响力的新CSS属性之一。...虽然截止到目前只有Chromium 85中支持content-visibility属性(and deemed "worth prototyping" for Firefox),但是大多数现代浏览器均支持

    1.7K30

    网页抓取教程之Playwright篇

    这也归功于技术水平的提高,研发出了越来越多用户体验良好的应用程序。此外,从网络应用程序的开发到测试,自动化在整个过程中的使用也越来越普及。网络爬虫工具越发流行。...Playwright等库在浏览器中打开网络应用程序并通过其他交互,例如单击元素、键入文本,以及从网络中提取公共数据来加速整个过程。...自动化脚本可以实现导航到URL、输入文本、单击按钮和提取文本等功能。Playwright最令人惊喜的功能是它可以同时处理多个页面且不用等待,也不会被封锁。...然后,启动了一个Chromium实例。它允许脚本自动化Chromium。请注意,这个脚本会以可视化的用户界面运行。...Firefox和WebKit Chromium Chrome、Firefox、IE、Edge、Opera和Safari等 结论 本文探讨了Playwright作为测试工具抓取动态站点的的功能,还介绍了

    11.4K41

    微信小程序原理

    在微信小程序官方文档上,有下面这段话: 微信小程序运行在三端:iOS、Android 和 用于调试的开发者工具 在 iOS 上,小程序的 javascript 代码是运行在 JavaScriptCore...中 在 Android 上,小程序的 javascript 代码是通过 X5 内核来解析 在 开发工具上, 小程序的 javascript 代码是运行在 nwjs(chrome内核) 中 我们先从开发工具谈起...开发工具 小程序的 javascript 代码运行在 nwjs 中。nwjs 是什么鬼呢?...微信 App 里包含 javascript 运行引擎。 微信 App 里包含了 WXML/WXSS 处理引擎,最终会把界面翻译成系统原生的控件,并展示出来。...app.js 加载并显示在 app.json 里配置的第一个页面 这个只是从开发者眼中看到的一个简化版的过程,实际过程应该比这要复杂得多,涉及到浏览器线程(就是运行我们的逻辑层代码 app.js 等的线程

    4.6K40

    Chrome 87 新特性解读,多年来 Chrome 性能最大提升!

    CSS grid debugging 当页面上的 HTML 元素具有 display: grid 或 display: inline-grid 时,可以在 Elements 面板中看到它旁边的一个 Grid...单击标记可以切换页面上 Grid 覆盖的高亮显示。 新的 Layout 子面板有一个 Grid 标签,提供了查看 Grid 的一些选项。 查看文档以了解更多信息。...默认情况下,Styles 面板中的 Computed 侧边栏是折叠的,单击按钮可以切换展开状态。 ?...Computed sidebar pane 对应 Chromium issue: 1073899 4.2 在 Computed 面板中对 CSS 属性进行分组 现在可以在 Computed 侧边栏中按类别对...有了这个新的分组特性,在 Computed 中查找和选择性地关注一组相关 CSS 属性变得更加容易。

    2.2K30

    定制化IDE选型笔记

    后来从Webkit切换到Chromium,并明确了Nodejs + Chromium开发桌面应用的发展方向 Electron Github开发Atom时采用并开源的技术,与NWjs有些联系,但实现上差异很大...(进程模型、Chromium集成方式等) 差异 相同点: 以前端技术栈开发桌面应用,都有成熟案例,例如钉钉(NWjs)、VS Code(Electron) 技术实现上都是Nodejs + Chromium...区别和限制: 平台支持:Electron不支持XP和Vista,NWjs支持 进程模型:NWjs是单进程模型,共享堆内存;Electron是多进程模型,靠管道IPC通信 源码保护:NWjs支持源码保护...同构方面的好处,NWjs自定义的部分相对Electron少一些,可复用更多的同构代码(维护一份代码,跑在桌面和Web环境) 很在意源码保护的场景,比如游戏内购 选用Electron的原因: “纯”客户端应用...43K star 插件多,但不活跃 VS Code Electron Microsoft 42.6K star 插件多,且活跃 Brackets Chrome Embedded Framework(在Chromium

    1.4K20

    解读selenium webdriver

    驱动程序是针对浏览器的,如Chrome/Chromium的ChromeDriver,Mozilla Firefox的GeckoDriver等。该驱动程序与浏览器运行在同一系统上。...测试框架负责运行和执行WebDriver以及测试中的相关步骤。因此,你可以认为它看起来类似于下面的图片。...这是因为Selenium只知道顶层文档中的元素。为了与按钮交互,我们需要首先切换到框架,就像我们切换窗口一样,WebDriver提供了三种切换到框架的方法。...因为p元素是在文档完成加载后添加的,所以这个WebDriver脚本可能是间歇性的。之所以说 "可能 "是间歇性的,是因为在没有明确等待或阻止这些事件的情况下,无法保证异步触发的元素或事件。...如果你在企业环境中,浏览器无法连接到一个URL,很可能这个环境需要代理才能访问。 Selenium WebDriver提供了一种代理设置的方式。

    6.7K30

    你可能不知道的「 CSS 容器查询 」

    这可能并不总是与视口的大小有关,而是与组件在布局中的放置位置有关。 例如,以下组件可能显示在网站布局的窄或宽列中。 如果有空间,它将显示为两列,否则,我们希望将其堆叠显示。...目前而言, 我们可以通过以某种方式识别该组件,比如通过添加一个类或使用其他选择器来定位元素,该选择器可以查看它在文档结构中的位置。 但是,这并不能完全实现媒体查询在整个布局中的作用。...媒体查询使我们能够根据视口的范围来改变元素的大小。 当我们添加一个类或目标元素时,我们决定当对象在侧边栏中时,它必须使用堆叠布局。...但是,就可用空间而言,很可能是在大屏幕上,侧边栏中的对象将具有足够的空间来以并排布局显示。 容器查询将解决这种情况。 除了查看视口的大小,我们还可以查看容器的大小,并根据容器中的空间进行布局调整。...layout和size的值叠加, 浏览器便会在该元素上创建一个containment上下文。

    1.6K30

    【转】不同内核浏览器的差异以及浏览器渲染简介

    不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。...实际上这是一个动态内核,与前面几个内核的最大的区别就在脚本处理上,Presto有着天生的优势,页面的全部或者部分都能够在回应脚本事件时等情况下被重新解析。...等等,还没完,用户点了一下界面中的“换肤”按钮,Javascript让浏览器换了一下标签的CSS路径;    11....reflow几乎是无法避免的。现在界面上流行的一些效果,比如树状目录的折叠、展开(实质上是元素的显示与隐藏)等,都将引起浏览器的 reflow。...class为extra_navitem的元素,效率明显提升了 对此,在CSS书写过程中,总结出如下性能提升的方案: 避免使用通配规则      如    *{} 计算次数惊人!

    2.2K10

    Playwright 和 Selenium 的区别是什么?

    前言 最近有不少同学问到 Playwright 和 Selenium 的区别是什么?...也有同学之前可能没学过 selenium ,现在正准备入手一个web 自动化框架,但是对于选择selenium 和 playwright 犹豫不决,因为面试问selenium比较多,可能学了工作中也用不上...Selenium 4 支持浏览器 Chromium(包含chrome, msedge)、WebKit 和 Firefox IE(7, 8, 9, 10, 11),Firefox,Safari,Google...Playwright 19 alert 默认监听自动关闭,可以异步监听 需要自己判断,无异步监听 Playwright 20 文件上传 监听文件上传时间,处理优雅 无法解决非input 上传 Playwright...执行JavaScript 可以在page,iframe,元素对象执行JavaScript 只能在driver对象执行JavaScrip Playwright 37 面试 要求playwright 比较少

    58410

    比Selenium更优秀的playwright介绍与未来展望

    Playwright支持包括Chromium、WebKit和Firefox在内的所有现代渲染引擎。在Windows、Linux和macOS上进行测试,本地或在CI上,无头或有头,带有本机移动仿真。...使用指南 Actions 表单元素交互 Playwright 可以与 HTML 输入元素进行交互,比如文本输入、复选框、单选按钮、选择选项、鼠标点击、输入字符、按键和快捷键,还可以上传文件和聚焦元素。...Selenium 4 支持浏览器 Chromium(包含chrome, msedge)、WebKit 和 Firefox IE(7, 8, 9, 10, 11),Firefox,Safari,Google...Playwright 19 alert 默认监听自动关闭,可以异步监听 需要自己判断,无异步监听 Playwright 20 文件上传 监听文件上传时间,处理优雅 无法解决非input 上传 Playwright...执行JavaScript 可以在page,iframe,元素对象执行JavaScript 只能在driver对象执行JavaScrip Playwright 37 async异步 有同步和异步2种方式

    44310

    Playwright系列:第9章 使用Playwright Grid进行分布式测试

    下方查看历史精选文章 重磅发布 - 自动化框架基础指南pdfv1.1 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具...工作器就是运行Playwright的远程机器,可以是物理机、虚拟机或云机器。 2. 在Grid服务器上,指定想要使用的浏览器类型和版本,以及要运行测试的远程工作器数量。 3....Grid服务器收集所有工作器返回的测试结果,并生成综合报告,包括测试失败的截图、视频等。 6. 测试人员只需要在Grid服务器上运行测试,而无需关心测试是如何在多个工作器中执行和并发调度的。...启动Grid服务器,需要指定工作器数量及浏览器类型,如: npx playwright-grid serve --workers 3 --browsers chromium,firefox,webkit...连接到Grid服务器。 2. 在Grid上启动浏览器,像本地测试脚本一样创建页面和访问网站。 3. 获取网页数据或执行其他测试逻辑。 4. 关闭浏览器和Playwright。 5.

    87220

    聊一聊CSS的过去与未来,加深对CSS的理解

    但问题出现在我们尝试在浮动元素下方添加更多元素时。突然间,我们的页脚就像自己闯荡一样,紧贴在DOM结构中更高的内容旁边。哦,这个混乱! 这是由于浮动元素的一个特殊特性导致的。...在CSS3中引入的flexbox对于盒子的对齐、方向、顺序和大小的设置是一次彻底的革命。不再需要处理浮动和定位的困扰了,大家注意啦。...以下是我对其中一些功能感到兴奋的原因: 容器查询 目前尚未在Firefox和Safari中支持 容器查询使得能够对子元素进行样式设置,并在布局中进行布局控制。...子网格 在Firefox和Safari中得到支持,并在Chrome的标志下使用 子网格是完善网格布局的一部分,可以将网格布局应用于网格项的子元素,从而实现更一致和可维护的布局。...和Safari中不受支持) 允许在单个步骤中更改DOM,同时在两个状态之间创建动画过渡。

    35550

    CSS 中 关于 Overflow ,你需要了解的这些知识点!

    作者:Ahmad shaded 译者:前端小智 来源:sitepoint 在CSS中,当一个元素的内容太大而无法容纳时,我们可以对其进行控制。...用例和事例 简单滑块 我们可以通过水平裁剪内容并使其滚动来创建快速简单的滑块。 ? 在上面的模型中,我们有水平放置的卡片,还有一个滚动条,可以滚动并显示更多内容。...,每个按钮都有一个伪元素,该元素相应地过渡到左侧和底部。...长词或链接 处理内容中的长字或链接时,它应该换行,否则,将会出现水平滚动。 ? 为了解决这个问题,我们需要中断长单词和链接。...Firefox scroll标签 在Firefox中,会向导致水平滚动的元素添加一个小标签。 ? 删除元素 有时,上述技术无效。

    5.2K20

    并行的UI 自动化测试 - Selenium Grid 4

    Grid允许我们在多台计算机上并行运行测试, 并集中管理不同的浏览器版本和浏览器配置 (而不是在每个独立的测试中)。...Grid目的和主要功能: 为所有的测试提供统一的入口 管理和控制运行着浏览器的节点/环境 扩展 并行测试 跨平台(操作系统)测试 负载测试 一般我们在如下两种情况下使用Grid: 在多种浏览器,多种版本的浏览器...默认情况下, 节点会自动注册运行它的计算机路径上所有可用的浏览器驱动程序,它还为基于Chromium的浏览器和Firefox的每个可用的CPU都创建插槽。...Roles in Grid: 在Gird 3中, 组件是集线器(hub)和节点(Node), 可以通过以独立模式启动网格来一起运行它们。...Grid 4中提供了相同的概念, 可以通过对上述某些组件进行分组来运行集线器, 也可以在独立模式下一起运行所有组件.

    2.6K40

    《刚刚问世》系列初窥篇-Java+Playwright自动化测试-9- 浏览器的相关操作 (详细教程)

    前边宏哥已经通过不少的篇幅将playwright的元素定位的一些常用的基本方法和高级技巧基本介绍的差不多了,但是在Web端的UI自动化的测试中,我们通常需要使用一些方法来操作浏览器,用来模拟人工操作浏览器...这一篇宏哥主要是介绍一下,在自动化测试的时候,我们常见的一些浏览器操作有哪些,宏哥将会一一介绍和讲解。...3.1安装浏览器驱动默认安装三大浏览器驱动webkit、chromium、firefox ,这里不需要我们考虑驱动的版本和浏览器的版本是否匹配,这个就比selenium方便多了。...在新创建的浏览器中,这将返回零个浏览器上下文。...Page.reload()Page.goBack()Page.goForward()3.8设置浏览器窗口大小窗口包含在设备中,但您可以使用 Page.setViewportSize() 在某些测试中覆盖它

    16220
    领券