随笔 - 44  文章 - 0  评论 - 2  阅读 - 53295 

playwright 支持chromiumfirefox, webkit,打开浏览器

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False) #打开浏览器
    browser.close()#关闭浏览器

 

playwright支持创建多个Browser contexts,相当于是打开浏览器后,可以创建多个页面上下文,每个上下文做的操作可以不同

我们可以将打开浏览器的操作放在一批用例的前置操作中,然后通过多个页面上下文来控制每个用例中的操作

复制代码

from playwright.sync_api import sync_playwright
#打开两个浏览器上下文
with sync_playwright() as p:
browser = p.chromium.launch(headless=False,slow_mo=100) #打开浏览器
context1 = browser.new_context() #创建浏览器上下文,支持创建多个上下文
page1 = context1.new_page()#新打开一个浏览器标签页
page1.goto("https://www.baidu.com")
context2 = browser.new_context() # 创建浏览器上下文,支持创建多个上下文
page2 = context2.new_page()#新打开一个浏览器标签页
page2.goto("https://www.bilibili.com")
browser.close()
 
复制代码

浏览器和上下文都可以使用new_page()方法打开一个新的浏览器标签页(选项卡)

browser = p.chromium.launch(headless=False)
        page = browser.new_page()

当我们通过点击某些按钮/超链接打开一个新的浏览器标签页时,还需要继续在这个浏览器标签页上继续操作时,那么可以使用以下方式

复制代码
with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, slow_mo=100)  # 打开浏览器
    context1 = browser.new_context()  # 创建浏览器上下文,支持创建多个上下文
    page1 = context1.new_page()
    page1.goto("https://www.baidu.com")
    with context1.expect_page() as new_page_info:
        page1.click('//a[@href="https://www.hao123.com"]')  # 在百度首页点击hao123后会打开一个新的选项卡
    new_page = new_page_info.value
    new_page.click('//a[@href="http://tuijian.hao123.com/"]') #在hao123点击hao123推荐
复制代码

 

参考链接:https://playwright.dev/python/docs/multi-pages

posted on   木木-林  阅读(6587)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示