playwright实战-渠道应用操作

  1. 单文件手工测试流程如下:
  2. 代码如下:
python 复制代码
from playwright.sync_api import sync_playwright
import os,time
LOGIN_STATUS="login_status.json"

with sync_playwright() as p:
    browser=p.chromium.launch(headless=False)
    if os.path.exists(LOGIN_STATUS):
        print("检测已登陆,直接加载页面")
        context=browser.new_context(storage_state=LOGIN_STATUS)
        page=context.new_page()
        page.goto("https://yxf.xinproptech.com/admin-tenant/#/index")
        print("已经登陆进入后台url:",page.url)
    else:
        print("检测未登录,开始登录")
        context=browser.new_context()
        page=context.new_page()
        #开始登录
        page.goto("https://yxf.xinproptech.com/admin-tenant/#/login")
        page.get_by_placeholder("请输入企业号").fill("ydhl")
        page.get_by_placeholder("请输入用户名").fill("ganfeimei")
        page.get_by_placeholder("请输入密码").fill("123456")
        page.get_by_role("button", name="登录").click()
        page.wait_for_url("**/index")
        print("当前 Cookies:", context.cookies())
    #保存登录信息
    context.storage_state(path=LOGIN_STATUS)
    print("登陆状态已保存")
    time.sleep(1)
    with page.expect_popup() as page1_info:
        page.locator("a").filter(has_text="渠道管家").click()

    page1=page1_info.value
    print("渠道管家url:",page1.url)
    #点击客户管理-进入
    time.sleep(1)
    page1.locator(".el-submenu.is-active > .el-submenu__title").click()
    page1.get_by_role("menuitem",name=" 客户台账 ").click()
    page1.get_by_role("menuitem", name=" 客户台账 ").wait_for(state="visible")
    print("客户管理url:", page1.url)
    #点击搜索
    page1.get_by_role("button", name="搜索").click()
    page1.get_by_role("button", name="查看详情").first.wait_for(state="visible")
    page1.screenshot(path="a2.png")
    #查看详情页面-关闭想去页面
    page1.get_by_role("button", name="查看详情").first.click()
    page1.get_by_role("button", name="Close").click()
    time.sleep(1)
    context.close()
    browser.close()

测试结果:

相关推荐
阿里嘎多学长1 小时前
2026-10-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
曹牧1 小时前
C#:空合并运算符
java·前端·数据库
happylifetree2 小时前
Python67:核心语法-函数进阶-参数类型(函数作为参数)
python
布吉岛的石头2 小时前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
小羊没烦恼!2 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
quantdash_cc3 小时前
从实时行情到价格观察表:用 Python 和 Pandas 构建策略输入数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
镜子AI3 小时前
镜子AI工程实践:用 Python 做 GEO 实体一致性审计,并自动生成 JSON-LD 结构化数据
人工智能·python·json
昂好的day4 小时前
VisionMaster 通信模块实战(上):Modbus、TCP 收发、协议组装解析
开发语言·网络·网络协议·tcp/ip·c#
智能直播5 小时前
RK3518:1.5G 内存 + 8G 存储,如何跑起硬件编解码、Web、AI 识别、绿幕特效
前端·人工智能·5g
努力实干5 小时前
面向对象设计原则——C++
开发语言·c++·数码相机