当前位置: 首页 > news >正文

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

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

新建Python窗口工程

1

修改pip.aardio

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

//安装模块
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

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.templatehtml1 = `
from playwright.sync_api import Playwright, sync_playwright, expectdef run(playwright: Playwright) -> None:# 使用chromium.connect_over_cdp远程连接webviewbrowser = 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

http://www.lryc.cn/news/392543.html

相关文章:

  • 《数据仓库与数据挖掘》 总复习
  • EtherCAT主站IGH-- 8 -- IGH之domain.h/c文件解析
  • 《昇思25天学习打卡营第10天|使用静态图加速》
  • 【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十二)
  • 六西格玛绿带培训如何告别“走过场”?落地生根
  • Linux——提取包文件到指定目录,命令解释器-shell,type 命令
  • 【最详细】PhotoScan(MetaShape)全流程教程
  • Excel多表格合并
  • AI作画工具深度剖析:Midjourney vs. Stable Diffusion (SD)
  • ASP.NET Core Blazor 5:Blazor表单和数据
  • C++ 仿QT信号槽二
  • 联合概率密度函数
  • 【Java10】成员变量与局部变量
  • Spring Session与分布式会话管理详解
  • 从0开始学习pyspark--Spark DataFrame数据的选取与访问[第5节]
  • Fastjson首字母大小写问题
  • GuLi商城-商品服务-API-品牌管理-效果优化与快速显示开关
  • 如何成为C#编程高手?
  • SpringBoot学习06-[SpringBoot与AOP、SpringBoot自定义starter]
  • Maven - 在没有网络的情况下强制使用本地jar包
  • JAVA--JSON转换工具类
  • 每日复盘-20240705
  • MySQL 一些用来做比较的函数
  • 一个使用率超高的大数据实验室是如何练成的?
  • Chiasmodon:一款针对域名安全的公开资源情报OSINT工具
  • 如何在Java中实现PDF生成
  • Redis 的缓存淘汰策略
  • 音乐播放器
  • 三星组件新的HBM开发团队加速HBM研发
  • 图书馆数据仓库