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实现控制电脑鼠标,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • Python sqrt()函数用法说明

    Python sqrt()函数用法说明

    这篇文章主要介绍了Python sqrt()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python Pygame实战之愤怒的小鸟游戏实现

    Python Pygame实战之愤怒的小鸟游戏实现

    《愤怒的小鸟》其实活得还不错,尽管我们一直在嘲笑它的IP帝国梦做得太大。但要知道,把休闲益智游戏的生意做到这个份上的,恐怕也就独此一家了。本文将利用Pygame实现这一游戏,需要的可以参考一下
    2022-04-04
  • Python编写带选项的命令行程序方法

    Python编写带选项的命令行程序方法

    今天小编就为大家分享一篇Python编写带选项的命令行程序方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python创建列表并给列表赋初始值的方法

    python创建列表并给列表赋初始值的方法

    这篇文章主要介绍了python创建列表并给列表赋初始值的方法,涉及Python列表的定义与赋值技巧,需要的朋友可以参考下
    2015-07-07
  • Python实现动态柱状图的绘制

    Python实现动态柱状图的绘制

    这篇文章主要为大家详细介绍了Python实现动态柱状图的绘制的相关资料,文中的示例代码讲解详细,具有一定的学习与借鉴价值,需要的可以参考一下
    2022-12-12
  • set在python里的含义和用法

    set在python里的含义和用法

    在本篇内容中我们给大家整理了关于set在python里的用法含义等相关知识点内容,有兴趣的朋友们可以学习下。
    2019-06-06
  • Python默认参数的使用机制

    Python默认参数的使用机制

    Python中函数的默认参数是一种简化函数调用并增强灵活性的机制,默认参数允许我们在函数定义时为某些参数指定默认值,这样在调用函数时,如果不为这些参数传值,它们将使用默认值,从而使得函数调用变得更加简洁和灵活,感兴趣的可以的了解一下
    2024-11-11
  • python使用opencv对图像mask处理的方法

    python使用opencv对图像mask处理的方法

    这篇文章主要介绍了python使用opencv对图像mask处理的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python利用ansible分发处理任务

    Python利用ansible分发处理任务

    这篇文章主要介绍了Python利用ansible分发处理任务的相关资料,需要的朋友可以参考下
    2015-08-08

最新评论