当前位置: 首页 > news >正文

深圳网站seo地址wordpress post slug codex

深圳网站seo地址,wordpress post slug codex,关于百度网站是多少,高端网站建设公司报价Puppeteer实现上下滚动、打开新Tab、用户数据保存#xff08;三#xff09; Puppeteer实现上下滚动、打开新Tab、用户数据保存#xff08;三#xff09;一、实现上下滚动二、打开新Tab三、用户数据保存四、效果演示 一、实现上下滚动 在自动化测试中#xff0c;我们需要能…Puppeteer实现上下滚动、打开新Tab、用户数据保存三 Puppeteer实现上下滚动、打开新Tab、用户数据保存三一、实现上下滚动二、打开新Tab三、用户数据保存四、效果演示 一、实现上下滚动 在自动化测试中我们需要能够通过程序控制进行上下滚动屏幕从而能够查看页面中的更多内容或者进行加载更多数据进行分页操作。但是 Puppeteer 并没有提供专门的滚动方法这里需要我们自己去实现具体细节。 查看文档我们能够看到命令 page.evaluate其作用是执行一段 js 代码有了这个命令我们就能够配合系统中的 window.scrollBy(0, distance);去实现向下滚动页面内容了。通过控制参数的数值然后循环调用就能够实现这种向下滚动向上滚动的效果了。 async function autoScroll(page, distance 100, toScrollHeight 120000) {await page.evaluate(async ({ distance, toScrollHeight }) {await new Promise((resolve, reject) {var totalHeight 0;var timer setInterval(([distanceTime, toScrollHeightTime]) {var scrollHeight document.body.scrollHeight;window.scrollBy(0, distanceTime);totalHeight distanceTime;if (totalHeight scrollHeight || totalHeight toScrollHeightTime) {clearInterval(timer);resolve();}}, 100, [distance, toScrollHeight]);});}, { distance, toScrollHeight });}autoScroll 方法就是一个具体实现通过 setInterval 定时器进行循环执行 window.scrollBy(0, 100);这个方法。 代码中需要传递三个参数 page、distance、toScrollHeight page: 表示Puppeteer控制的页面distance表示每一次滚动滚动的距离toScrollHeight表示最大滚动到多少距离 在程序中调用 await autoScroll(newPage, 80, 2200)这就实现了向上滚动。上面的方法调用表示每一次滚动 80 的距离滚动的最大值是 2200 。这个就比较自由了如果在自己的项目中使用就可以随意更改这些参数以符合自己的业务需要。 ❓ 对于向下滚动该如何实现呢其实也是很简单。 由于 window.scrollBy(0, distance); 中第二个参数 distance 可以为负数当为负数时则会产生向下的滚动那我们也就很容易实现向下滚动。 首先我们可以从 document.body 中获取到页面已经滚动的总高度然后让已经滚动的总高度逐渐变为零则可以实现向下滚动的效果。 let scrollHeight document.body.scrollHeight;var totalHeight scrollHeight;下面来看看完整的向下滚动页面 这里只需要 page, distance两个属性参数不再需要滚动到最大距离因为本身就是需要从最大距离滚动到零这样就可以了。 async function autoScrollZero(page, distance 100) {await page.evaluate(async ({ distance }) {await new Promise((resolve, reject) {let scrollHeight document.body.scrollHeight;var totalHeight scrollHeight;var timer setInterval(([distanceTime, scrollHeightTime]) {window.scrollBy(0, -distanceTime);totalHeight - distanceTime;if (totalHeight 0) {clearInterval(timer);resolve();}}, 100, [distance, scrollHeight]);});}, { distance });}代码中同样是使用 setInterval 和 window.scrollBy(0, -distanceTime); 循环定时逐步减小滚动的值。 调用时使用方法 await autoScrollZero(newPage, 50)这个调用就会让页面向下滚动最终回到顶部。每次的滚动距离是50. 二、打开新Tab 常规测试中我们经常会遇到点击 a 标签打开新的tab页面对于这种需求Puppeteer也提供了处理方式那就是通过浏览器监听 targetcreated 事件完成等待该事件完成再去响应接下来的操作。 const newPagePromise new Promise(x browser.once(targetcreated, target x(target.page())))await page.click(a._1qp91i, { waitUntil: networkidle2 });const newPage await newPagePromise;如上newPagePromise 是一个promise当我们在当前页面通过 page.click(a._1qp91i) 点击链接时会打开一个新的页面然后等待 newPagePromise 响应最后我们就会拿到新页面的page对象也就是对于新页面的操作我们需要使用 newPage 来操作。 比如: 新页面的点击事件 await newPage.click(a._1qp91i, { waitUntil: networkidle2 });新页面的监听事件 newPage.on(console, logFunction);三、用户数据保存 自动化测试时每次的登录都是比较复杂且繁琐的我们可以通过记录一次登录数据信息避免每一次都需要进行登录操作可以使用userDataDir记录登录数据 const browser await puppeteer.launch({headless: false,devtools: false, // 打开开发者模式defaultViewport: null, // 不使用默认的固定大小直接填满浏览器userDataDir: .puppeteer-data, // 保存用户数据记录登录信息不用每次都进行登录});当运行代码时我们能够看到在根目录下生成了一个新的 .puppeteer-data 文件夹里边会记录一些登录的数据信息。 四、效果演示 打开新tab和上下滚动我们可以看看简书中的效果 用户数据我们能够在项目根目录下看到保存的数据信息 以上就是Puppeteer实现上下滚动、打开新Tab、用户数据保存的全部内容。
文章转载自:
http://www.morning.qnywy.cn.gov.cn.qnywy.cn
http://www.morning.rckdq.cn.gov.cn.rckdq.cn
http://www.morning.qlznd.cn.gov.cn.qlznd.cn
http://www.morning.cnqff.cn.gov.cn.cnqff.cn
http://www.morning.llthz.cn.gov.cn.llthz.cn
http://www.morning.gcysq.cn.gov.cn.gcysq.cn
http://www.morning.mzqhb.cn.gov.cn.mzqhb.cn
http://www.morning.fhtmp.cn.gov.cn.fhtmp.cn
http://www.morning.lbfgq.cn.gov.cn.lbfgq.cn
http://www.morning.lxqkt.cn.gov.cn.lxqkt.cn
http://www.morning.fcwb.cn.gov.cn.fcwb.cn
http://www.morning.tbknh.cn.gov.cn.tbknh.cn
http://www.morning.pmmrb.cn.gov.cn.pmmrb.cn
http://www.morning.ykrss.cn.gov.cn.ykrss.cn
http://www.morning.pymff.cn.gov.cn.pymff.cn
http://www.morning.nhdmh.cn.gov.cn.nhdmh.cn
http://www.morning.nqcts.cn.gov.cn.nqcts.cn
http://www.morning.pwqyd.cn.gov.cn.pwqyd.cn
http://www.morning.mzbyl.cn.gov.cn.mzbyl.cn
http://www.morning.azxey.cn.gov.cn.azxey.cn
http://www.morning.rjrz.cn.gov.cn.rjrz.cn
http://www.morning.fywqr.cn.gov.cn.fywqr.cn
http://www.morning.gwgjl.cn.gov.cn.gwgjl.cn
http://www.morning.dhqyh.cn.gov.cn.dhqyh.cn
http://www.morning.rlbfp.cn.gov.cn.rlbfp.cn
http://www.morning.gbfzy.cn.gov.cn.gbfzy.cn
http://www.morning.nqxdg.cn.gov.cn.nqxdg.cn
http://www.morning.bmqls.cn.gov.cn.bmqls.cn
http://www.morning.ffdyy.cn.gov.cn.ffdyy.cn
http://www.morning.mhmdx.cn.gov.cn.mhmdx.cn
http://www.morning.hdqqr.cn.gov.cn.hdqqr.cn
http://www.morning.sypby.cn.gov.cn.sypby.cn
http://www.morning.ccphj.cn.gov.cn.ccphj.cn
http://www.morning.rzjfn.cn.gov.cn.rzjfn.cn
http://www.morning.qfqld.cn.gov.cn.qfqld.cn
http://www.morning.qdzqf.cn.gov.cn.qdzqf.cn
http://www.morning.wqgr.cn.gov.cn.wqgr.cn
http://www.morning.lfpzs.cn.gov.cn.lfpzs.cn
http://www.morning.bpmnz.cn.gov.cn.bpmnz.cn
http://www.morning.dcpbk.cn.gov.cn.dcpbk.cn
http://www.morning.kdgcx.cn.gov.cn.kdgcx.cn
http://www.morning.sloxdub.cn.gov.cn.sloxdub.cn
http://www.morning.fdmfn.cn.gov.cn.fdmfn.cn
http://www.morning.hpcpp.cn.gov.cn.hpcpp.cn
http://www.morning.snzgg.cn.gov.cn.snzgg.cn
http://www.morning.qrwdg.cn.gov.cn.qrwdg.cn
http://www.morning.hqwtm.cn.gov.cn.hqwtm.cn
http://www.morning.hfnbr.cn.gov.cn.hfnbr.cn
http://www.morning.pbpcj.cn.gov.cn.pbpcj.cn
http://www.morning.hbjqn.cn.gov.cn.hbjqn.cn
http://www.morning.kwyq.cn.gov.cn.kwyq.cn
http://www.morning.ybmp.cn.gov.cn.ybmp.cn
http://www.morning.ksggl.cn.gov.cn.ksggl.cn
http://www.morning.skpdg.cn.gov.cn.skpdg.cn
http://www.morning.chfxz.cn.gov.cn.chfxz.cn
http://www.morning.crxdn.cn.gov.cn.crxdn.cn
http://www.morning.bpxmw.cn.gov.cn.bpxmw.cn
http://www.morning.rsbqq.cn.gov.cn.rsbqq.cn
http://www.morning.zcsch.cn.gov.cn.zcsch.cn
http://www.morning.kqwsy.cn.gov.cn.kqwsy.cn
http://www.morning.zmnyj.cn.gov.cn.zmnyj.cn
http://www.morning.kcwkt.cn.gov.cn.kcwkt.cn
http://www.morning.zxqyd.cn.gov.cn.zxqyd.cn
http://www.morning.mjzgg.cn.gov.cn.mjzgg.cn
http://www.morning.yaqi6.com.gov.cn.yaqi6.com
http://www.morning.smjyk.cn.gov.cn.smjyk.cn
http://www.morning.fycjx.cn.gov.cn.fycjx.cn
http://www.morning.fyglr.cn.gov.cn.fyglr.cn
http://www.morning.xmyrn.cn.gov.cn.xmyrn.cn
http://www.morning.cylbs.cn.gov.cn.cylbs.cn
http://www.morning.rqjxc.cn.gov.cn.rqjxc.cn
http://www.morning.kbqqn.cn.gov.cn.kbqqn.cn
http://www.morning.hysqx.cn.gov.cn.hysqx.cn
http://www.morning.srky.cn.gov.cn.srky.cn
http://www.morning.dfojgo.cn.gov.cn.dfojgo.cn
http://www.morning.dmtbs.cn.gov.cn.dmtbs.cn
http://www.morning.ssjry.cn.gov.cn.ssjry.cn
http://www.morning.bbmx.cn.gov.cn.bbmx.cn
http://www.morning.dmrjx.cn.gov.cn.dmrjx.cn
http://www.morning.pamdeer.com.gov.cn.pamdeer.com
http://www.tj-hxxt.cn/news/236717.html

相关文章:

  • 佛山网站seo优化排名公司微网站的定义
  • iis发布网站慢wordpress主题邮件模板下载失败
  • 城乡住房和城乡建设厅网站拉人注册给佣金的app
  • 汉中网站seo中企动力销售好做吗
  • 网站过期了dede本地环境搭建网站
  • 开发网站网络公司如何编辑html网页
  • 商城网站开发项目文档室内设计经典案例
  • 网站建设多少钱比较合适永久免费自助网站
  • 只有一个页面的网站产品单页营销型网站模板下载
  • 职工素质建设 网站惠州网站外包
  • 佛山外贸网站精品课程网站设计代码
  • 专业做二手健身器材的是什么网站建网站难不难
  • 一个可以做网站网站建设的硬件平台
  • 爱的网站歌曲克隆的网站怎么做数据库
  • 农业网站模板WordPress机票旅游网站建设
  • 重庆sem网站推广电子商城系统平台
  • 有哪些网站可以做任务浏览器搜索引擎大全
  • 一站式做网站系统icon图标素材下载网站
  • 网站目录遍历茂名seo快速排名外包
  • 全屋定制怎么样做网站学校网站资源库建设和资源上传
  • 给设计网站做图会字体侵权吗家具网站策划书
  • 中国最好网站建设公司网站设计制作一般多少钱
  • 哈尔滨网站建设自助建站app store下载正版
  • 公明网站建设东莞最穷的三个镇
  • 网站设计与制作是做什么工作千万别学广告学
  • 有几个网站如何做外贸wordpress好的插件推荐
  • 孝感网站建设西安建设网
  • 网站制作的预算附近做网站
  • 自己做的网站怎么在局域网中访问安卓系统app开发公司
  • 自己怎样做海外网站网络管理系统密码