基于aardio web.view2库和python playwright包的内嵌浏览器自动化操作

通过cdp协议可以实现playwright操控webview。

新建Python窗口工程

修改pip.aardio

修改pip.aardio,并执行,安装playwright。

cpp 复制代码
//安装模块
import process.python.pip;
//process.python.path = "python.exe";

/*
安装模块。
参数可以用一个字符串指定多个 pip 参数,参数以空格分开。
也可以用多个 aardio 参数指定多个 pip 参数,aardio 自动合并所有参数并自动处理转义。
*/
process.python.pip("install playwright");

//如果指定的模块未安装,则调用 pip 安装
// process.python.pip.require("请指定要安装的模块名称");

console.pause();

实现playwright操控webview

cpp 复制代码
import win.ui;
/*DSG{{*/
mainForm = win.form(text="playwright测试";right=957;bottom=708)
mainForm.add()
/*}}*/

import web.view2;
//第4个参数为0则开启远程端口,取空闲端口号
wb = web.view2(mainForm,,0);

import string.template

html1 = `
from playwright.sync_api import Playwright, sync_playwright, expect

def run(playwright: Playwright) -> None:

    # 使用chromium.connect_over_cdp远程连接webview
    browser = playwright.chromium.connect_over_cdp("http://127.0.0.1:${port}")
    context = browser.contexts[0]
    page = context.pages[0]
    page.goto("https://www.baidu.com/")
    page.locator("#kw").click()
    page.locator("#kw").fill("附加webview测试")
    page.get_by_role("button", name="百度一下").click()


with sync_playwright() as playwright:
    run(playwright)
    
`
html = string.template(html1).format(
    port = wb.remoteDebuggingPort;
)


import process.python;

process.python.version = "3.9.13";
process.python.win32 = true;

process.python.exec(html);

mainForm.show();
return win.loopMessage();

相关链接

https://mp.weixin.qq.com/s/F6sLUiY0v0YWyYDYSO2L4Q

相关推荐
陈随易20 分钟前
在 VSCode 里,把项目一键部署到服务器
前端·后端·程序员
Highcharts.js39 分钟前
教程:基于 React + Highcharts 构建一个单页应用程序、按需数据拉取与图表渲染
开发语言·前端·数据结构·react.js·前端框架·highcharts·页面应用
爱昏羔1 小时前
下篇:从检索到交互 — 物流RAG问答系统与WebUI全实现
python·langchain·agent
To_OC1 小时前
我被 useState 坑了两次之后,终于把它的脾气摸透了
前端·javascript·react.js
_Jimmy_1 小时前
Agent引用数据库知识过时的增量同步方案
人工智能·python·langchain
鱼樱前端1 小时前
我用 Claude Code 后,编码效率翻 3 倍。但更值钱的是别的。
前端·后端·ai编程
_lucas1 小时前
给知识库网站接入AI问答
前端·ai编程·全栈
头发还在的女程序员2 小时前
医院陪诊管理系统怎么选择?——2026 年选型避坑与架构参考
java·开发语言·陪诊系统·陪诊app·医院陪诊陪护
前端糕手2 小时前
前端面试题大全:JavaScript + Vue3 + React + TypeScript + 工程化 + 性能优化
前端
min(a,b)2 小时前
学习第 4 天:面向对象与异常处理
python·学习·学习方法