首页 > python学习 > playwright同步模块sync_api的浏览器上下文
2021
01-04

playwright同步模块sync_api的浏览器上下文

创建一个浏览器上下文

相当于一个独立的浏览器进程,不会与其他浏览器上下文共享cookie和缓存等信息

context=browser.new_context(Parameters)

    viewport:dict({"width":1280, "height":720}),浏览器窗口大小
    ignore_https_errors:bool(False),是否忽略https错误
    javaScriptEnabled:bool(True),是否启用javascript
    bypassCSP:切换绕过页面的内容安全策略
    userAgent:str,设置用户代理字符串
    locale:str,指定用户语言和区域
        如en-GB(英语-英国)、en-US(英语-美国)、de-DE(德语-德国)、zh-CH(中文-大陆,简体中文)、 zh-tw(中文-台湾,繁体中文)、ja-JP(日语-日本)、fr-FR(法语-法国)等
    timezoneId:str,指定时区
    permissions:List[str],授予此上下文中所有页面的权限列表
    extraHTTPHeaders:dict,指定与每个请求一起发送的其他HTTP标头,所有标头值都必须是字符串。
    offline:bool(False),是否模拟网络离线
    httpCredentials:dict,HTTP身份验证的凭据
        格式{"username": str, "password": str}
    deviceScaleFactor:int(1),设备像素比DPR(devicePixelRatio)
        默认缩放为100%的情况下,设备像素和CSS像素的比值,越大越清晰
    isMobile:bool(False),是否考虑meta viewport标签并启用触摸事件(Firefox不支持)
    hasTouch:bool(False),是否支持触摸事件
    color_scheme:str,主题模式,支持的值light,dark,no-preference
    acceptDownloads:bool(False),是否自动下载所有附件
    proxy:dict,设置用于此上线文的代理,覆盖全局代理设置
        需要设置全局代理启动浏览器,此选项才能起作用
        如果浏览器对象的所有上下文都设置了代理,那么全局代理将永远不会使用,此时全局代理的server值可以是任意值且不会报错

    videosPath:str,在上下文关闭时保存录制视频的目录
        如果设置了recordVideo会优先使用recordVideo配置
    videoSize:dict,在上下文关闭时保存录制视频的分辨率
        格式{"width": int, "height": int}
        如果设置了recordVideo会优先使用recordVideo配置
    recordHar:dict,保存HAR文件的路径
        格式{"omitContent": bool, "path": str}
        omitContent表示是否已简要形式保存HAR文件
    recordVideo:dict,在上下文关闭时保存录制视频的目录和录制视频的分辨率
        格式{"dir": str, "size": {"width": int, "height": int}}
        会覆盖videosPath和videoSize设置
    storage_state:dict,使用给定的状态填充上下文
    如指定cookies
    {
        "cookies":[
            {
                "name": str, 
                "value": str, 
                "url": str, 
                "domain": str, 
                "path": str, 
                "expires": int, 
                "httpOnly": bool, 
                "secure": bool, 
                "sameSite": str(可选值'Strict''Lax', 'None')
            },
            {},
            ...
        ]
    }

浏览器上下文的属性和方法:

    addCookies(list[dict]):将cookie添加到此浏览器上下文中。
        格式参考storage_state参数的cookies值
        在此上下文中的所有页面都将安装这些cookie
    addInitScript(str):该上下文中每个页面打开时(在运行任何脚本之前)运行的javascript脚本
    browser:返回创建该上下文的浏览器对象
    clearCookies():清除上下文中的cookies
    clearPermissions():清除浏览器上下文的所有权限替代
    close():关闭浏览器上下文
    cookies(urls):返回影响指定URL的cookie
        url可以是一个字符串,也可以是字符串组成的列表,
        如果未指定url则返回所有cookie
    new_page():在浏览器上下文中创建一个新页面
    pages:返回上下文中所有打开的页面,不包含backgroundPage
    setDefaultNavigationTimeout(int):更改默认最大导航时间(毫秒)
    setDefaultTimeout(int):更改默认超时时间(毫秒)
    setExtraHTTPHeaders(dict):与上下文中任何页面发起的每个请求一起发送的额外HTTP标头
    setGeolocation(latitude,longitude,accuracy):设置上下文的地理位置
        latitude:维度的浮点数
        longitude:经度的浮点数
        accurac:非负精度值,默认为0
    setOffline(bool):是否模拟浏览器上下文处于脱机状态的网络
    storageState(path):保存此浏览器上下文的存储状态到path指定的文件中
        如果path是相对路径,则相对于当前工作目录来解析
        如果没有提供path,则仍返回存储状态,但不会保存到磁盘
    serviceWorkers:返回在上下文中所有的服务列表
    waitForEvent(event,predicate)
        event为字符串表示的事件
        predicate表示事件触发时运行的函数
        事件触发时,会将event值传递给predicate,同时会传入context.on(event)
        谓词返回真值时解析
        如果上下文在事件触发前关闭,将引发错误。返回事件数据值
最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。