建设通是个什么网站,wordpress E405,wordpress redirect_to,给个网站谢谢各位了browser.new_context() 创建一个新的浏览器上下文。它不会与其他浏览器上下文共享 cookies/缓存。
context之间是相互隔离的#xff0c;可以理解为轻量级的浏览器实例
多浏览器窗口
创建一个context相当于打开一个新的浏览器窗口
如下代码打开两个浏览器窗口#xff1a; …browser.new_context() 创建一个新的浏览器上下文。它不会与其他浏览器上下文共享 cookies/缓存。
context之间是相互隔离的可以理解为轻量级的浏览器实例
多浏览器窗口
创建一个context相当于打开一个新的浏览器窗口
如下代码打开两个浏览器窗口
from playwright.sync_api import sync_playwrightwith sync_playwright() as p:browser p.chromium.launch(headlessFalse, slow_mo1000)context1 browser.new_context() # 创建上下文浏览器实例1context2 browser.new_context() # 创建上下文浏览器实例2page1 context1.new_page() # 打开标签页1page1.goto(https://www.baidu.com/)# 操作第二个浏览器窗口page2 context2.new_page() # 打开标签页1page2.goto(https://www.baidu.com/)
创建一个page页面相当于打开一个新的标签页
多标签页
每个浏览器上下文可以承载多个页面选项卡。 每个页面都像一个聚焦的活动页面。 不需要将页面置于最前面。
如下代码打开两个tab标签页 from playwright.sync_api import sync_playwrightwith sync_playwright() as p:browser p.chromium.launch(headlessFalse, slow_mo1000)context browser.new_context() # 创建上下文浏览器实例page context.new_page() # 打开标签页1page.goto(https://www.baidu.com/)page2 context.new_page() # 打开标签页2page2.goto(https://www.sina.com/)context.close()browser.close()
浏览器上下文还可用于模拟涉及移动设备、权限、区域设置和配色方案的多页面场景
Playwright 可以在一个场景中创建多个浏览器上下文。当您想测试多用户功能如聊天时这很有用。
pythonplaywright 学习-5.new_context上下文与新窗口操作
新标签页
浏览器上下文中的事件page可用于获取在上下文中创建的新页面。这可用于处理通过target”_blank”链接打开的新页面。
from playwright.sync_api import sync_playwrightwith sync_playwright() as p:browser p.chromium.launch(headlessFalse, slow_mo1000)context browser.new_context() # 创建上下文浏览器实例page context.new_page() # 打开标签页page.goto(https://www.baidu.com/)print(page.title())# Get page after a specific action (e.g. clicking a link)with context.expect_page() as new_page_info:page.click(text新闻) # Opens a new tabnew_page new_page_info.valuenew_page.wait_for_load_state() # 等待页面加载到指定状态print(new_page.title())
处理弹出窗口
如果页面打开一个弹出窗口例如通过链接打开的页面您可以通过监听页面上的事件target”_blank”来获取对它的引用。popup 除了browserContext.on(‘page’)事件之外还会发出此事件但仅针对与此页面相关的弹出窗口。
# Get popup after a specific action (e.g., click)
with page.expect_popup() as popup_info:page.get_by_text(open the popup).click()
popup popup_info.valuepopup.wait_for_load_state()
print(popup.title())