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 @   NiceTwocu  阅读(201)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示