在使用playwright请求https协议的网站时报证书认证错误,常见的三种解决办法如下:

1、第一种,在系统安装证书,将网站的证书安装到系统计算机即可

具体方法可在网上查询或者AI工具问答。

2、第二种,忽略HTTPS错误(推荐,通用配置,不限制浏览器)

此种办法最常用,测试环境推荐使用,具体操作是在通过配置浏览器上下文中,忽略证书认证;

使用参数:ignore_https_errors,该参数必须配置在browser.new_context(),或者browser.new_page()中,

即 context=browser.new_context(ignore_https_errors=True) ,详情如下:

# -*- coding=utf-8 -*-
from playwright.sync_api import sync_playwright
from time import sleep

def use_playwright():
    """
    关于playwright
    """
    # 实例化浏览器 参数配置
    with sync_playwright() as p:
        browser = p.chromium.launch(headless=False) # 无头模式关闭
        context=browser.new_context(ignore_https_errors=True) # 配置忽略HTTPS证书认证
        page=context.new_page()

        # 访问浏览器
        page.goto('https://www.kkkk.com/')
        sleep(5)
        print(f"-->> 运行成功,打开的网页是:{page.title()} ")
        context.close()
        page.close()
        browser.close()


if __name__ == "__main__":
    # 运行函数
    use_playwright()

3、第三种,使用Chromium特定的启动参数

此种方法仅局限于Chrome浏览器,其他浏览器无效

具体如下:配置 args=["--ignore-certificate-errors"]  

from playwright.sync_api import sync_playwright
from time import sleep



def use_playwright():
    """
    关于playwright 的学习提升
    """
    # 实例化浏览器 参数配置
    with sync_playwright() as p:
        browser = p.chromium.launch(
                        headless=False,   # 关闭无头模式
                        # 配置参数忽略https证书错误,该方法仅限Chrome
                        args=["--ignore-certificate-errors"]  
                                    ) 
        context=browser.new_context() 
        page=context.new_page()

        # 访问浏览器
        page.goto('https://www.kkkk.com/')
        sleep(5)
        print(f"-->> 运行成功,打开的网页是:{page.title()} ")
        context.close()
        page.close()
        browser.close()


if __name__ == '__main__':
    # 运行函数
    use_playwright()

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐