Playwright如何自定义浏览器的下载和启动路径

 更新时间:2025年04月02日 16:03:23   作者:阿福不是狗  
playwright是一个非常有趣的自动化测试工具, 支持Node.js、Python、C# 和 Java语言,下面我们就来看看如何使用Playwright进行自定义浏览器的下载和启动路径吧

使用步骤

1.引入库

tips:可以使用国内镜像源安装,会快一点

安装playwright库

pip install playwright

安装浏览器驱动文件(安装过程稍微有点慢)

python -m playwright install

2.脚本录制

使用codegen命令,以下命令查看所有用法

python -m playwright codegen --help 

使用该命令开始录制

python -m playwright codegen 

然后我们就可以在弹出的浏览器中进行操作了,playwright会记录我们的一系列操作并生成对应的代码,结束后自动关闭浏览器,保存生成的自动化脚本到py文件。

from playwright.sync_api import Playwright, sync_playwright, expect


def run(playwright: Playwright) -> None:
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://www.baidu.com/")
    page.locator("#kw").click()
    page.locator("#kw").fill("playwright")
    page.get_by_role("button", name="百度一下").click()

    # ---------------------
    context.close()
    browser.close()


with sync_playwright() as playwright:
    run(playwright)

Playwright之自定义浏览器的下载和启动路径

1. 安装浏览器到指定目录

Playwright 默认将浏览器下载到 ~/.cache/ms-playwright 目录。如果需要安装到自定义目录,可以使用以下命令:

PLAYWRIGHT_BROWSERS_PATH=/your/custom/path npx playwright install

PLAYWRIGHT_BROWSERS_PATH 环境变量指定浏览器的安装路径。

替换 /your/custom/path 为目标目录。

2. 设置浏览器执行路径

在 Playwright 脚本中,可以通过 executablePath 指定浏览器的路径。以下是示例代码:

from playwright.sync_api import sync_playwright

def main():
    custom_browser_path = "/your/custom/path/chromium-<version>/chrome-linux/chrome"
    
    with sync_playwright() as p:
        # 使用自定义浏览器路径启动
        browser = p.chromium.launch(executable_path=custom_browser_path, headless=False)
        page = browser.new_page()
        
        # 打开网址
        page.goto("https://www.example.com")
        print("当前页面标题:", page.title())
        
        browser.close()

if __name__ == "__main__":
    main()

executablePath:

替换 custom_browser_path 为实际浏览器的执行路径,通常类似于:

  • Chromium: /your/custom/path/chromium-<version>/chrome-linux/chrome
  • Firefox: /your/custom/path/firefox-<version>/firefox/firefox
  • Webkit: /your/custom/path/webkit-<version>/minibrowser

浏览器版本号 <version> 可根据安装目录中的文件夹名称找到。

3. 永久性设置浏览器路径

如果经常使用自定义浏览器路径,可以设置 PLAYWRIGHT_BROWSERS_PATH 为全局环境变量:

方法 1: 临时使用(当前会话)

export PLAYWRIGHT_BROWSERS_PATH=/your/custom/path

方法 2: 永久设置

将以下内容添加到 ~/.bashrc 或 ~/.zshrc 中:

export PLAYWRIGHT_BROWSERS_PATH=/your/custom/path

然后运行:

source ~/.bashrc   # 或 source ~/.zshrc

在设置了环境变量后,Playwright 会自动使用指定目录的浏览器,无需显式传递路径。

总结

安装到指定目录:

PLAYWRIGHT_BROWSERS_PATH=/your/custom/path npx playwright install

运行时指定路径:

使用 executable_path 在代码中显式指定。

永久性配置:

设置 PLAYWRIGHT_BROWSERS_PATH 环境变量,自动应用自定义路径。

到此这篇关于Playwright如何自定义浏览器的下载和启动路径的文章就介绍到这了,更多相关Playwright自定义浏览器路径内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何利用Python合并两张图片

    如何利用Python合并两张图片

    在Python中可以使用PIL库(Python Imaging Library)来合并两张图片,这篇文章主要给大家介绍了关于如何利用Python合并两张图片的相关资料,文中给了详细的代码示例,需要的朋友可以参考下
    2024-03-03
  • 详解将Python程序(.py)转换为Windows可执行文件(.exe)

    详解将Python程序(.py)转换为Windows可执行文件(.exe)

    这篇文章主要介绍了详解将Python程序(.py)转换为Windows可执行文件(.exe),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-07-07
  • 用Python代码自动生成文献的IEEE引用格式的实现

    用Python代码自动生成文献的IEEE引用格式的实现

    这篇文章主要介绍了用Python代码自动生成文献的IEEE引用格式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • pandas中read_excel()函数的基本使用

    pandas中read_excel()函数的基本使用

    在Python的数据处理库pandas中,read_excel()函数是用于读取Excel文件内容的强大工具,本文就来介绍一下如何使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 系统解析Python模拟Windows文件名排序的三种实现方案

    系统解析Python模拟Windows文件名排序的三种实现方案

    在文件管理场景中,Windows资源管理器的排序规则因其符合人类自然认知而备受青睐,本文将系统解析Windows排序规则并提供三种Python实现方案,大家可以根据需要进行选择
    2026-03-03
  • python输出国际象棋棋盘的实例分享

    python输出国际象棋棋盘的实例分享

    在本篇文章里小编给大家整理的是一篇关于python输出国际象棋棋盘的实例详解,有兴趣的朋友们可以参考下。
    2020-11-11
  • python-nmap实现python利用nmap进行扫描分析

    python-nmap实现python利用nmap进行扫描分析

    Nmap是一个非常用的网络/端口扫描工具,如果想将nmap集成进你的工具里,可以使用python-nmap这个python库,它提供了一个简单的接口来使用nmap进行扫描,下面我们来看看python-nmap的具体应用吧
    2024-12-12
  • Python开发WebService系列教程之REST,web.py,eurasia,Django

    Python开发WebService系列教程之REST,web.py,eurasia,Django

    对于今天的WebService开发,我们至少有两种选择:SOAP/WSDL/UDDI系列的; REST风格架构系列的 !!!
    2014-06-06
  • 使用tensorboard可视化loss和acc的实例

    使用tensorboard可视化loss和acc的实例

    今天小编就为大家分享一篇使用tensorboard可视化loss和acc的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Dataframe的行名及列名排序问题

    Dataframe的行名及列名排序问题

    这篇文章主要介绍了Dataframe的行名及列名排序问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09

最新评论