puppeteer执行js_使用Node.js和Puppeteer与表单和网页进行交互– 2

puppeteer执行js

Hi guys! Today let's look at another powerful function of the puppeteer API using Node.js part 2.

嗨,大家好! 今天,让我们看看使用Node.js第2部分的puppeteer API的另一个强大功能。

In the first part of this section, was talking about commands for keystroke control and typing as we'll normally do with an opened browser.

在本节的第一部分中,我们将讨论键盘控制和键入的命令,就像我们通常在打开的浏览器中所做的那样。

Here's the link to part 1: INTERACTING WITH FORMS AND WEB PAGES USING NODE-JS AND PUPPETEER- 1

这是第1部分的链接: 使用NODE-JS和PUPPETEER-1与表单和网页进行交互

Imagine for a moment if it's possible to open a website, log in and take a screenshot of your dashboard.

想象一下,如果有可能打开一个网站,登录并为您的仪表板截屏。

?????

??????

Take Note! You should have Node-js and puppeteer installed in your PC.

做记录! 您应该在PC中安装Node-js和puppeteer。

With Node-js and puppeteer already up and running, let's get started.

在Node-js和puppeteer已启动并运行的情况下,让我们开始吧。

*NB: If you don't yet have Node-js/ puppeteer installed in your PC, read the article NODE & GOOGLE PUPPETEER API SERIES

*注意:如果您的PC尚未安装Node-js / puppeteer,请阅读文章NODE&GOOGLE PUPPETEER API SERIES

Today, let's continue from our last part where we saw how to type o fill the form.

今天,让我们从最后一部分继续,在那里我们看到了如何键入o填写表格。

Now let's see how to submit..

现在让我们看看如何提交。

But there's a problem!!!! Most often, the submit button has no id or class.

但是有一个问题! 通常,提交按钮没有ID或类。

Indeed, the puppeteer has made work easy for you and me.

的确,木偶使您和我的工作变得轻松。

Let's see how this can be done.

让我们看看如何做到这一点。

Now, let's get started.

现在,让我们开始吧。

Since we can't get the id or class of the submit button from inspecting, we will use a command on the web browser's console which will return what we'll use at the place of id/class.

由于无法通过检查获取提交按钮的ID或类,因此我们将在Web浏览器的控制台上使用命令,该命令将返回我们将在ID /类位置使用的命令。

Open your browser, move to the console and type

打开浏览器,移至控制台并输入

    document.querySelectorAll('input[type="submit"]') [0]

Interacting with forms and web pages 4

It's going to output the input type and value of your own submit button.

将输出您自己的提交按钮的输入类型和值。

Use the input type at the await.page.click parameter as seen in the code below.

使用await.page.click参数中的输入类型,如下面的代码所示。

Open a text editor and type the following code and save it with the file name app.js:

打开一个文本编辑器,输入以下代码,并将其保存为文件名app.js

The code below fills the form and submits and takes a screenshot of action after submitting.

下面的代码填写了表单,然后提交并在提交后对操作进行了截图。

const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto('file:///H:/js-form-validator-master/index.html')
// focus on the element with id  specified in bracket
await page.focus('#example-1-name') 
// types the sentence in bracket 
await page.keyboard.type('ENGINEER GODWILL') 
await page.focus('#example-1-email') 
await page.keyboard.type('[email protected]')
await page.focus('#example-1-password')
await page.keyboard.type('admin123')
// clicks on the submit button of the form
await page.click ('input[type="submit"]') 
// captures a screenshot
await page.screenshot({ path: 'keyboard.png' }) 
console.log ('done');
await browser.close()
})()

NB: You can use any URL of your choice,

注意:您可以使用任何选择的URL,

I this example, I used a webpage that was already downloaded to facilitate the tutorial but if it concerns a URL on the www, internet connection is required to navigate to the website/web page.

在本示例中,我使用已经下载的网页来简化本教程,但是如果它涉及www上的URL,则需要互联网连接才能导航到该网站/网页。

The file should be saved in your default Node-js directory.

该文件应保存在默认的Node-js目录中。

Run the code by initiating the file at the command prompt like a regular Node-js file.

通过在命令提示符处启动文件(如常规Node-js文件)来运行代码。

The Screenshot ( image file) is then stored in the default Node-js directory with name keyboard.png

屏幕快照(图像文件)然后存储在名称为keyboard.png的默认Node-js目录中。

Output image file:

输出图像文件:

Interacting with forms and web pages 5

翻译自: https://www.includehelp.com/node-js/interacting-with-forms-and-web-pages-using-node-js-and-puppeteer-2.aspx

puppeteer执行js

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

好用的平板电脑_小熊分享|这五款平板电脑的性价比绝了!

【叶紫网】独乐乐不如众乐乐,点击上方头像并添加关注,与叶紫科技小熊一起探索科技的奥秘。要说当代年轻人的消费观,我们也是说要该花花,该省省,像现在的科技产品更新换代的速度,就算我们的荷包相当的鼓&…

交际过程的两个基本环节_跨文化交际学概论笔记(二)

第二部分 基本概念:文化与交际第一章 文化的定义与特征一、文化的定义1. 文化的定义为何重要首先,在跨文化交际学中文化是一个至关重要的问题。研究时,不可避免进行文化对比。其次,在研究任何学科前,术语的界定是前提。…

lcd图片转二进制工具_辽宁2.8寸LCD屏价格,测距仪LCD显示屏_思迈微

首页 > 新闻中心发布时间:2020-11-15 08:27:09 导读:思迈微为您提供辽宁寸LCD屏价格,测距仪LCD显示屏的相关知识与详情: 以上便是对LED点阵式显示屏的软硬件系统、组成等的技术知识的粗略的介绍。以这款名为《液晶显示器亮点坏点修复工具》…

ps如何修改图片大小尺寸_PS新手入门教程:学习如何修改画布的大小

PS新手入门教程:学习如何修改画布的大小。在photoshop中,可以把画布理解为一张白纸,而我们要处理的图像可以理解为这张白纸表面上的画。我们修改画布的大小时,图像并不会随着画布的大小而整体变大或缩小,这是修改画布大…

jfinal poi

2019独角兽企业重金招聘Python工程师标准>>> 最近项目采用jfinal的项目要对一些excel进行操作,经过考虑采用jfinalpoi,在一些学习,使用后总结并分享一些代码片段。 导入excel protected Workbook workbook null;protected File filenull;publ…

python 函数 类 模块

python基础语法5函数作用域函数参数函数对象无名函数回调函数函数嵌套类类的创建类的调用初始化方法类的继承类的定制模块使用模块函数 封装好,进行某种功能 del 函数名(参数):函数体return 返回值(可以没有return语句)作用域 …

activemq nodejs stomp 重连机制_5分钟优劣分析 Kafka、RabbitMQ、RocketMQ、ActiveMQ消息队列...

一、资料文档Kafka:中,有kafka作者自己写的书,网上资料也有一些。 rabbitmq:有一些不错的书,网上资料多。 zeromq:少。没有专门写zeromq的书,网上的资料多是一些代码的实现和简单介绍。 rocketm…

excel保存快捷键_干货 | 快速提高工作效率的电脑快捷键!

点击标题下「蓝色微信名」可快速关注随着科学技术的发展,电脑已经成为每个人生活和工作的必备工具。然而,很多人在使用电脑的过程中非常依赖鼠标,导致双手需要频繁离开键盘,造成工作间歇中断,导致用电脑处理工作的效率…

钉钉 ISV 应用开发的一些心得

1. 背景 前段时间从前到后完整地做完了一个简单的钉钉上的 ISV 应用 —— 猿活动。 最开始想做这么一个小工具,是想到,平时部门中经常会组织一些分享活动,但是这些分享活动却没有一个比较直观的“站点”来记录一次又一次的,很多人…

python 编码 解码 读写文件

python基础语法6编码解码encode编码与decode解码读写文件编码解码 计算机是以二进制(0或1)存储的,以字节为单位,1byte8bit,1KB1024B;1MB1024KB;1GB1024MB 编码表:ASCII码&#xff0…

电脑如何设置不休眠_电脑休眠了却没法唤醒?设置一下就好!

关注全新【HP惠课厅】,惠普消费新品全知晓逐步复工,办公室环境又渐渐熟悉了起来午休外出吃饭、忙里偷闲散步、下班不想关电脑……随手就把电脑休眠了开机也快,网页和工作内容也不会被关掉休眠功能是挺好用的可有时候,无论怎么点开…

node+bower+gulp+webpack初见

2019独角兽企业重金招聘Python工程师标准>>> node node模块管理是通过NPM(即 Node Package Manage,是 NodeJS 模块管理工具)来处理各模块之间的依赖。NPM按树状结构来管理的,支持某模块的不同版本。 [前提是本机已安装…

hbuilder php mysql_xampp本地服务器+HBuilder配置php环境

HBuilder配置PHP环境:下载,运行HBuilder编辑器打开右侧小窗口,点击设置图标—>设置web服务器—>外置web服务器输入你想要浏览器运行的URL,点击两个确定,再重新点击设置web服务器,选择PHP类文件(选择之…

百度地图手机和电脑不一致_你可能不知道的电脑手机冷知识

各位好久不见呀,自科部科科又回来了!平时我们经常使用电脑,你可能以为你对电脑和手机了如指掌,然而下面的冷知识你知道多少个?01一台电脑可以有多个桌面如果你熟练的使用多个桌面这个技巧那么就可以躲着家长领导偷懒了…

RHEL 7 中 systemctl 的用法(替代service 和 chkconfig)

2019独角兽企业重金招聘Python工程师标准>>> 1、systemctl是RHEL 7 的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。可以使用它永久性或只在当前会话中启用/禁用服务。 systemctl可以列出正在运行的服务状态,如图&am…

js 刷新div_vue.js备忘记录(五) vue-router

如果我们采用SPA(单网页应用)的设计方式,服务器会把前端文件一次性发过来,前端通过监听url的改变,选择展示那些内容,也就是前端路由一. 如何改变url但是页面不刷新?方式一: 改变哈希值hash比如,我们随便找一个网页我们在浏览器控制台输入发现网站的url有了些改变查看network却…

css div撑满窗口高度_如何使用CSS将div的高度设置为窗口的100%?

css div撑满窗口高度Introduction: 介绍: Hello there developers! Well, certainly if you are reading this article then that means that you have run into some trouble while creating your web page or website and if you are a beginner in this field, …

.net core image怎么保存_轻量级Vue图片上传插件——Vue-core-image-Upload

介绍vue-core-image-upload 是一款轻量级的 Vue.js 上传插件,它可以支持的图片的上传,裁剪,压缩。它同样也支持在移动端的图片处理,它定义了诸多上传周期,你可以自由的进行流程控制。Githubhttps://github.com/Vanthin…

mysql确认半同步命令_怎么判断mysql是否是半同步复制

AFTER_COMMIT(5.6默认值)master将每个事务写入binlog ,传递到slave 刷新到磁盘(relay log),同时主库提交事务。master等待slave 反馈收到relay log,只有收到ACK后master才将commit OK结果反馈给客户端。AFTER_SYNC(5.7默认值,但5.6中无此模式…

《Linus Torvalds自传》摘录

转自:http://www.ruanyifeng.com/blog/2012/09/linus_torvalds.html作者: 阮一峰日期: 2012年9月 3日除了程序员,大概很少人知道Linux操作系统。它的发明者Linus Torvalds,知道的人就更少了。他本人也很低调&#xff0…