You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PywinAuto无法操控Chromium桌面应用,能否用Selenium连接本地进程?

内嵌Chromium桌面应用的自动化方案(以Avast UI为例)

能否用Selenium操控该应用?

不行。标准Selenium依赖Chrome DevTools Protocol(CDP)与浏览器进程通信,但Avast这类基于Chromium内核封装的桌面应用,默认不会暴露CDP调试端口,也不支持Chrome的--remote-debugging-port这类启动参数来开启调试接口。Avast官方也未公开相关调试配置,因此无法直接用Selenium连接操控。

有没有办法连接本地运行的该应用进程?

目前没有直接可行的方案,但可以尝试以下替代思路:

  • 尝试开启内嵌Chromium的调试端口:
    逆向分析Avast UI的启动流程,找到是否能通过隐藏参数指定--remote-debugging-port=9222这类参数启动应用。若成功开启,可尝试用Playwright/Pyppeteer通过CDP连接:
    from playwright.sync_api import sync_playwright
    
    with sync_playwright() as p:
        browser = p.chromium.connect_over_cdp("http://localhost:9222")
        target_page = browser.contexts[0].pages[0]
        # 后续可通过target_page操作页面元素
    
    注意:商业软件通常有反调试机制,此方法成功率极低。
  • 优化Pywinauto的操控逻辑:
    基于已识别的控件结构,结合坐标模拟或更精准的控件定位来操作:
    # 定位到Chrome Legacy Window控件
    chrome_legacy_win = app.AvastFreeAntivirus.AvastChromiumWindow.Pane2.ChromeLegacyWindow
    # 模拟点击控件内的相对坐标(x,y需自行确认)
    chrome_legacy_win.click_input(coords=(100, 200))
    
    同时可使用Windows自带的inspect.exe工具,更细致地查看控件层级,确认是否有未被Pywinauto识别的可交互子控件。

内容的提问来源于stack exchange,提问作者Rimu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 13:01:42