首页 > 编程语言 >python+playwright 学习-59 grant_permissions 设置默认允许麦克风和摄像头等权限

python+playwright 学习-59 grant_permissions 设置默认允许麦克风和摄像头等权限

时间:2023-04-29 20:33:59浏览次数:67  
标签:playwright 59 grant sync context 权限 permissions

前言

有些场景在使用的时候,会弹出一些权限框,比如麦克风和摄像头等,通过监听alert 是没法捕获的。
正确做法是给浏览器设置默认允许麦克风和摄像头等权限,不让弹窗出来。使用context 的 grant_permissions 方法加权限。

权限框

弹窗示例

python+playwright 学习-59 grant_permissions 设置默认允许麦克风和摄像头等权限_html

python+playwright 学习-59 grant_permissions 设置默认允许麦克风和摄像头等权限_python+playwright_02

这种弹窗是权限窗,不是alert

解决办法

context 有个 grant_permissions 方法可以加权限,常见的权限如下

def grant_permissions(
        self, permissions: typing.List[str], *, origin: typing.Optional[str] = None
    ) -> None:
        """BrowserContext.grant_permissions

        Grants specified permissions to the browser context. Only grants corresponding permissions to the given origin if
        specified.

        Parameters
        ----------
        permissions : List[str]
            A permission or an array of permissions to grant. Permissions can be one of the following values:
            - `'geolocation'`
            - `'midi'`
            - `'midi-sysex'` (system-exclusive midi)
            - `'notifications'`
            - `'camera'`
            - `'microphone'`
            - `'background-sync'`
            - `'ambient-light-sensor'`
            - `'accelerometer'`
            - `'gyroscope'`
            - `'magnetometer'`
            - `'accessibility-events'`
            - `'clipboard-read'`
            - `'clipboard-write'`
            - `'payment-handler'`
        origin : Union[str, None]
            The [origin] to grant permissions to, e.g. "https://example.com".
        """

添加'camera', 'microphone' 权限示例

from playwright.sync_api import sync_playwright



with sync_playwright() as playwright:
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()
    # 设置允许 'camera', 'microphone' 权限
    context.grant_permissions(['camera', 'microphone'])
    page = context.new_page()
    page.goto('https://www.demo.com/demo.html')


python+playwright 学习-59 grant_permissions 设置默认允许麦克风和摄像头等权限_html_03




标签:playwright,59,grant,sync,context,权限,permissions
From: https://blog.51cto.com/u_15249893/6236877

相关文章

  • python+playwright 学习-58 Jenkins上使用 Pipeline 运行 playwright 自动化脚本
    前言Dockerfile.focal可用于在Docker环境中运行Playwright脚本。这些镜像包括在Docker容器中运行浏览器所需的所有依赖项,还包括浏览器本身。playwright在linux系统上目前只支持Ubuntu系统的部分版本,centos和debian系统上是没法运行的。jenkins环境准备需安装2个跟docke......
  • python+playwright 学习-57 svg 元素拖拽
    前言SVG英文全称为ScalablevectorGraphics,意思为可缩放的矢量图,这种元素比较特殊,需要通过name()函数来进行定位。本篇讲下关于svg元素的拖拽相关操作。拖拽svg元素如图所示,svg下的circle元素是可以拖动的比如往右拖动100个像素,那么cx的值由原来的cx="100"变成cx="200"通......
  • python+playwright 学习-56 svg 元素定位
    前言SVG英文全称为ScalablevectorGraphics,意思为可缩放的矢量图,这种元素比较特殊,需要通过name()函数来进行定位。svg元素定位如下看到的svg标签,就是svg元素用普通的标签定位,是无法定位的,如xpath的//svg只能通过name()函数来定位//*[name()="svg"]页面上用多个svg元素如果......
  • python+playwright 学习-55 在docker 容器中运行playwright脚本
    前言Dockerfile.focal可用于在Docker环境中运行Playwright脚本。这些镜像包括在Docker容器中运行浏览器所需的所有依赖项,还包括浏览器本身。playwright在linux系统上目前只支持Ubuntu系统的部分版本,centos和debian系统上是没法运行的。镜像查看所有可用的图像标签https:......
  • Playwright复杂定位
    select下拉框先定位到下拉框,然后通过select_option选择值#下拉框通过值单选page.get_by_label('a').select_option('x')#下拉框通过label单选page.get_by_label('a').select_option(label='p')#下拉框通过值多选page.get_by_label('a').select_option([......
  • Playwright基本定位
    css定位如在css定位为#kw的位置输入内容,如下写法均可:page.locator('#kw').fill("输入的内容")page.locator('css=#kw').fill("输入的内容")page.fill('#kw','输入的内容')#可以不写css=或xpath=,会自动判断是cssg还是xpath如在css定位为#su的位置点击,如下写法均可:......
  • 【0基础学爬虫】爬虫基础之自动化工具 Playwright 的使用
    大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易到难全方位覆盖,特设【0基础学爬虫】专栏,帮助小白快速入门爬虫,本期为自动化工具playwright的使用。概述......
  • 使用 Vagrant 在 Ubuntu 虚拟机上安装使用 Portainer
    Portainer是一款免费的Docker管理工具,它提供了一个Web界面,通过简单易用的界面管理Docker容器和镜像。以下是使用Vagrant在Ubuntu虚拟机上安装使用Portainer的示例步骤:1.创建Ubuntu虚拟机在Vagrantfile文件中添加以下配置:```Vagrant.configure("2")......
  • python+playwright 学习-59 设置默认允许麦克风和摄像头等权限
    前言有些场景在使用的时候,会弹出一些权限框,比如麦克风和摄像头等,通过监听alert是没法捕获的。正确做法是给浏览器设置默认允许麦克风和摄像头等权限,不让弹窗出来。使用context的grant_permissions方法加权限。权限框弹窗示例这种弹窗是权限窗,不是alert解决办法contex......
  • Playwright录制及断点
    Playwright录制录制命令playwrightcodegen该命令会自动打开浏览器,然后我们在浏览器中操作就会生成相应的代码 可以切换右上角的语言生成对应语言的代码,如下生成pytest用例,非常方便元素自动定位 也可以帮助我们定位,把鼠标放在想定位的位置就会出现定位的方式,也可以点......