from playwright.sync_api import sync_playwright
#封装一个方法用于切换浏览器窗口页面
def switch_to_page(context,url):
for page in context.pages:
if url == page.url:#如果传进来的url等于列表中url
page.bring_to_front()#对页面进行暂停
return page#返回当前页面
with sync_playwright() as p:
bro=p.chromium.launch(headless=False,slow_mo=1000)
#创建上下文管理器
context=bro.new_context()
#基于上下文管理器对象打开一个page页面
page=context.new_page()
page.goto("https://www.baidu.com")
#点击百度首页左上角的全部链接,以打开多个不同的page页面
a_list=page.locator('//*[@id="s-top-left"]/a').all()
for a in a_list:
a.click()
#page页面的切换
select_page=switch_to_page(context,'https://www.hao123.com/?src=from_pc')
# #在指定的page中进行相关的操作
select_page.locator('//*[@id="search"]/form/div[2]/input').fill('测试测试')
select_page.locator('//*[@id="search"]/form/div[3]/input').click()
select_page.wait_for_timeout(4000)#等待4s
page.close()
bro.close()
标签:xpath,playwright,管理器,url,context,page,页面
From: https://www.cnblogs.com/cy-xt/p/18125050