playwright-上下文管理器-xpath定位-页面切换

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()

posted @ 2024-04-09 22:35  NiceTwocu  阅读(84)  评论(0编辑  收藏  举报