playwright自定义浏览器设备时区经纬度userAgent注入脚本
Posted 程序员石磊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了playwright自定义浏览器设备时区经纬度userAgent注入脚本相关的知识,希望对你有一定的参考价值。
介绍
Playwright是一个强大的Python库,仅用一个API即可自动执行Chromium、Firefox、WebKit等主流浏览器自动化操作,并同时支持以无头模式、有头模式运行。
项目地址:https://playwright.dev/docs/intro
我最喜欢的特点
- 浏览器上下文并行:对具有浏览器上下文的多个并行、隔离的执行环境,重用单个浏览器实例。
- 自动等待: Playwright 可以自动等待元素,这将会提高自动化的稳定性,简化测试的编写。
- 支持多个域、页面和表单: Palywright是一个 进程外(out-of-process) 自动化驱动程序,它不受页内javascript执行范围的限制,可以自动处理多个页面的场景。
- 覆盖所有场景的功能:支持文件下载、上传,进程外表单,输入、点击,甚至是手机上流行的暗黑模式。
- 测试移动端:通过设置驱动模式可以模拟移动浏览器的效果。
- 注入javasript脚本
效果
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();
})();
以上是关于playwright自定义浏览器设备时区经纬度userAgent注入脚本的主要内容,如果未能解决你的问题,请参考以下文章