Python中playwright启动浏览器与常见运行方式详解

前言
在本文中,我们将介绍如何使用Playwright这一现代化的浏览器自动化工具来启动浏览器,并深入了解其运行方式。Playwright是一个功能强大的工具,可以帮助开发人员自动化测试、网页截图、信息提取等任务。它支持多种浏览器,包括Chrome、Firefox和WebKit。

启动浏览器
上一篇文章中,我们安装了playwright和各个浏览器的测试版本,所以我们可以直接启动浏览器,代码如下:

from playwright.sync_api import sync_playwright
 
 
with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)          # 启动 chromium 浏览器
    page = browser.new_page()              # 打开一个标签页
    page.goto("https://www.baidu.com")     # 打开百度地址
    print(page.title())                    # 打印当前页面title
    browser.close()                        # 关闭浏览器对象

打印结果如下:

注:playwright默认是无头方式启动运行浏览器的,如果我们想要看到界面,需要查看浏览器界面,需要将headless设置为False

异步运行
Playwright 支持2种运行方式:同步和异步。如果项目使用asyncio,那我们应该使用 async API:

import asyncio
from playwright.async_api import async_playwright
 
 
 
async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=False)
        page = await browser.new_page()
        await page.goto("https://www.baidu.com")
        print(await page.title())
        await browser.close()
 
asyncio.run(main())

打印结果如下:

start stop运行方式
除了with方式运行之外,我们还可以使用start,stop来运行。代码如下:

from playwright.sync_api import sync_playwright
 
playwright = sync_playwright().start()
 
browser = playwright.chromium.launch(headless=False)
page = browser.new_page()
page.goto("https://www.baidu.com/")
 
 
browser.close()
playwright.stop()

等待
相对于selenium,playwright执行速度会更快,为了便于我们查看执行的过程,我们可以加上等待来减缓执行,但是与selenium不同,playwright通过slow_mo (单位是毫秒)减慢执行速度,它的作用范围是全局的,从启动浏览器到操作元素每个动作都会有等待间隔,方便在出现问题的时候看到页面操作情况。使用方法如下:

chromium.launch(headless=False, slow_mo=50)
示例代码如下:

from playwright.sync_api import sync_playwright
 
 
with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, slow_mo=1000)
    page = browser.new_page()
    page.goto("https://www.baidu.com")
    print(page.title())
    page.fill('#kw', "theshy")
    page.click('#su')
    browser.close()

注:与selenium不同,playwright不再支持time.sleep(),而是使用page.wait_for_timeout()来实现等待,当我们调试时需要等待,即可使用该方法。

示例代码如下:

from playwright.sync_api import sync_playwright
 
 
 
with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, slow_mo=1000)
    page = browser.new_page()
    page.goto("https://www.baidu.com")
    print(page.title())
    # 等待5秒
    page.wait_for_timeout(5000)
    page.fill('#kw', "theshy")
    page.click('#su')
    # 等待3秒 
    page.wait_for_timeout(3000)
    browser.close()

运行结果如下:

总结
本文主要介绍了一些playwright的简单使用,playwright的使用与selenium有一些不同,我们需要注意不同点,比如playwright默认是无头模式运行以及等待的改变。下一篇文章我们将介绍playwright定位元素的方法。

到此这篇关于Python中playwright启动浏览器与常见运行方式详解的文章就介绍到这了,更多相关Python playwright内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持vb.net教程C#教程python教程SQL教程access 2010教程

playwright.chromium.connect方法是Playwright用于连接到Chromium浏览器实例的方法。它接受一个参数对象,用于配置连接的各种选项。以下是参数对象的详细解释: 1. browserURL (可选):要连接的Chromium浏览器实例的URL。如果未提供此参数,则会自动下载并启动一个新的Chromium实例。 2. timeout (可选):连接超时时间,单位为毫秒。如果在指定的时间内无法连接到浏览器实例,则会抛出超时错误。 3. slowMo (可选):以毫秒为单位的延迟时间,用于模拟人工操作的速度。通过增加延迟时间,可以使操作更加可见,方便调试。 4. headless (可选):布尔值,表示是否以无头模式运行浏览器。如果设置为True,则浏览器将在后台运行,没有可见界面。默认值为True。 5. args (可选):字符串数组,用于传递额外的命令行参数给浏览器实例。例如,可以使用`--proxy-server`参数设置代理服务器。 6. ignoreDefaultArgs (可选):字符串数组,用于忽略浏览器实例的默认命令行参数。可以通过指定参数名称或使用`--`前缀来忽略。 7. proxy (可选):要使用的代理服务器的URL。可以是HTTP、HTTPS或SOCKS5代理。 8. downloadsPath (可选):指定浏览器实例下载文件的路径。如果未指定,则默认为系统的临时目录。 9. chromiumSandbox (可选):布尔值,表示是否启用Chromium的沙箱模式。默认情况下,沙箱是启用的。 10. firefoxUserPrefs (可选):一个对象,用于设置Firefox浏览器实例的用户首选项。 11. webkitUserPrefs (可选):一个对象,用于设置WebKit浏览器实例的用户首选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值