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();
})();
相关文章
|
6天前
|
测试技术
【sgUploadTileImage】自定义组件:浏览器端生成瓦片图,并转换为File文件序列上传瓦片图
【sgUploadTileImage】自定义组件:浏览器端生成瓦片图,并转换为File文件序列上传瓦片图
|
8月前
|
容器
自定义 behavior - 完美仿 QQ 浏览器首页,美团商家详情页(一)
自定义 behavior - 完美仿 QQ 浏览器首页,美团商家详情页
|
5天前
|
JavaScript
vue自定义浏览器滚动条样式
vue自定义浏览器滚动条样式
5 0
|
6天前
|
JavaScript 前端开发
Playwright执行 JavaScript 脚本:探索浏览器自动化的新境界
在Web自动化中,Playwright提供`page.evaluate()`和`page.evaluate_handle()`来执行JavaScript脚本。`page.evaluate()`返回脚本执行结果,而`page.evaluate_handle()`返回JSHandle。示例展示了如何使用它们,如打印网页标题、操作元素及获取页面内容。通过这些方法,可以处理常规方法难以操作的网页元素。
12 2
|
6天前
|
测试技术 Python
使用 Playwright 控制浏览器的启动、停止和等待
Playwright是一个自动化测试工具,能模拟浏览器行为并灵活控制其启动、停止和等待。通过`sync_playwright().start()`和`.stop()`控制浏览器,使用`slow_mo`参数全局减慢执行速度以方便观察。与Selenium不同,Playwright不支持`time.sleep()`,而是用`page.wait_for_timeout()`进行等待。文中展示了启动浏览器、设置延迟及页面交互的Python代码示例,并提到Playwright的无头模式和等待机制的变化。下文将讨论元素定位方法。
17 6
|
6天前
|
Web App开发 测试技术 API
playwright使用:启动浏览器与多种运行方式
本文介绍了Playwright,一个用于浏览器自动化的强大工具,支持Chrome、Firefox和WebKit。展示了如何同步和异步启动浏览器,以及使用`with`语句和`start/stop`方法。通过设置`headless=False`可显示浏览器界面。Playwright的等待机制不同于Selenium,采用`slow_mo`全局减速或`wait_for_timeout`进行等待。文章还展示了填写表单和点击元素的示例,并预告下文将讨论元素定位方法。
23 6
|
6天前
|
Web App开发 测试技术 C++
Playwright安装与Python集成:探索跨浏览器测试的奇妙世界
Playwright是新兴的跨浏览器测试工具,相比Selenium,它支持Chrome、Firefox、WebKit,执行速度快,选择器更稳定。安装Playwright只需一条`pip install playwright`的命令,随后的`playwright install`会自动添加浏览器,无需处理浏览器驱动问题。这一优势免去了Selenium中匹配驱动的烦恼。文章适合寻求高效自动化测试解决方案的开发者。
15 2
|
8月前
|
XML Android开发 数据格式
自定义 behavior - 完美仿 QQ 浏览器首页,美团商家详情页(二)
自定义 behavior - 完美仿 QQ 浏览器首页,美团商家详情页
|
8月前
|
存储 JSON BI
如何让 ABAP 服务器能够响应通过浏览器发起的自定义 HTTP 请求的试读版
如何让 ABAP 服务器能够响应通过浏览器发起的自定义 HTTP 请求的试读版
44 0
|
8月前
|
数据采集 前端开发 API
Playwright: 比 Puppeteer 更好用的浏览器自动化工具(下)
Playwright: 比 Puppeteer 更好用的浏览器自动化工具
178 0