playwright自定义浏览器设备、时区、经纬度、userAgent、注入脚本

简介: playwright自定义浏览器设备、时区、经纬度、userAgent、注入脚本

介绍

Playwright是一个强大的Python库,仅用一个API即可自动执行Chromium、Firefox、WebKit等主流浏览器自动化操作,并同时支持以无头模式、有头模式运行。

项目地址:https://playwright.dev/docs/intro

我最喜欢的特点


  • 浏览器上下文并行:对具有浏览器上下文的多个并行、隔离的执行环境,重用单个浏览器实例。
  • 自动等待: Playwright 可以自动等待元素,这将会提高自动化的稳定性,简化测试的编写。
  • 支持多个域、页面和表单: Palywright是一个 进程外(out-of-process) 自动化驱动程序,它不受页内JavaScript执行范围的限制,可以自动处理多个页面的场景。
  • 覆盖所有场景的功能:支持文件下载、上传,进程外表单,输入、点击,甚至是手机上流行的暗黑模式。
  • 测试移动端:通过设置驱动模式可以模拟移动浏览器的效果。
  • 注入javasript脚本

效果

视频https://www.bilibili.com/video/av716217301/?zw

playwright自定义浏览器设备、时区、经纬度、userAgent、注入脚本


show me the code

基于nodejs

const { chromium , devices } = require('playwright');
(async () => {
  const browser = await chromium.launch({ headless: false });
   //设置设备
  const pixel2 = devices['iPhone 6'];
  //设置指纹
  const context = await browser.newContext({
    ...pixel2,
    //语言
    locale: 'de-DE',
    //时区
    timezoneId: 'America/Adak',
    //经纬度
    longitude: 29.979097,
    latitude: 31.134256,
    colorScheme: 'dark',
    //设置useragent
    userAgent: 'My user agent',
    //屏幕大小
    viewport: { width: 1440, height: 768 }
  });
  const page = await browser.newPage();
  await page.goto('https://www.baidu.com');
  //注入本地脚本
  await page.evaluate(() => {
    var body = document.getElementsByTagName("body");
    var iframe = document.createElement('iframe'); 
    iframe.src="https://blog.csdn.net/huangmingleiluo"; 
    iframe.style.cssText = 'top :300px; position:absolute;';
    iframe.width = 1440;
    iframe.height = 300;
    document.body.appendChild(iframe);
  });
  // await browser.close();
})();
相关文章
|
7月前
|
容器
自定义 behavior - 完美仿 QQ 浏览器首页,美团商家详情页(一)
自定义 behavior - 完美仿 QQ 浏览器首页,美团商家详情页
|
7月前
|
XML Android开发 数据格式
自定义 behavior - 完美仿 QQ 浏览器首页,美团商家详情页(二)
自定义 behavior - 完美仿 QQ 浏览器首页,美团商家详情页
|
7月前
|
存储 JSON BI
如何让 ABAP 服务器能够响应通过浏览器发起的自定义 HTTP 请求的试读版
如何让 ABAP 服务器能够响应通过浏览器发起的自定义 HTTP 请求的试读版
43 0
|
7月前
|
数据采集 前端开发 API
Playwright: 比 Puppeteer 更好用的浏览器自动化工具(下)
Playwright: 比 Puppeteer 更好用的浏览器自动化工具
154 0
|
7月前
|
数据采集 Web App开发 JavaScript
Playwright: 比 Puppeteer 更好用的浏览器自动化工具(上)
Playwright: 比 Puppeteer 更好用的浏览器自动化工具
225 0
|
7月前
|
存储 编解码 安全
浏览器基础原理-安全: 跨站脚本攻击(XSS)
浏览器基础原理-安全: 跨站脚本攻击(XSS)
33 0
|
9月前
|
Web App开发 UED C++
在chrome浏览器中调用IE浏览器并访问(openIE.reg自定义协议)
在chrome浏览器中调用IE浏览器并访问(openIE.reg自定义协议)
|
10月前
|
Web App开发 开发者
谈一谈|脚本—丰富你的浏览器
谈一谈|脚本—丰富你的浏览器
70 0
|
编解码 应用服务中间件 nginx
几种将设备视频流转码成浏览器能够播放的协议的方法
将rtsp转换成浏览器能访问的hls协议和http-flv协议的方法
453 0
|
存储 Web App开发 编解码
浏览器原理 32 # 跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?
浏览器原理 32 # 跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?
100 0
浏览器原理 32 # 跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?

热门文章

最新文章