找回密码
 加入
搜索
查看: 333|回复: 20

原生CDP操作浏览器

[复制链接]
发表于 2026-5-11 01:40:53 | 显示全部楼层 |阅读模式
本帖最后由 繁星 于 2026-5-19 00:25 编辑

目前autoit有WebDriver来操作浏览器,但是弊端就是需要chromedriver.exe来充当翻译器,而且还得对应浏览器版本
我就想寻找一种更简单直接得办法,最后找到了原生CDP协议操作浏览器,于是封装了一个3M的动态库来支撑Au3实现,不再受限于版本
参考资料:
https://chromedevtools.github.io/devtools-protocol
https://github.com/ChromeDevTools/awesome-chrome-devtools
https://github.com/mattsse/chromiumoxide
https://github.com/puppeteer/puppeteer

重要:目前只适配了Chrome和edge浏览器,DLL使用x64位编译(不再考虑32位)
浏览器管理
_AUCDP_Start($sDllPath)        加载 DLL
_AUCDP_Navigate($sUrl, $sConfig)        启动浏览器并导航到 URL,若已启动则重置会话
_AUCDP_Shutdown()        关闭浏览器并释放 DLL
_AUCDP_BuildConfig(...)        构造配置 JSON(路径、无头模式、窗口大小、超时等)

标签页管理
_AUCDP_TabOpen($sUrl)        打开新标签页,返回新标签句柄(≥1),新标签自动成为活动标签
_AUCDP_TabSwitch($iHandle)        切换活动标签页到指定句柄,浏览器 UI 同步聚焦
_AUCDP_TabClose($iHandle)        关闭指定标签页,若关闭的是当前活动标签则自动切换
_AUCDP_TabCount()        获取当前打开的标签页总数
_AUCDP_TabCurrent()        获取当前活动标签的句柄(无活动标签返回 -1)
_AUCDP_TabList()        返回所有标签句柄的 JSON 数组字符串,如 "[1,2,5]"
_AUCDP_Goto($sUrl)        让当前活动标签在原标签内跳转到新 URL(不开新标签)

页面内容
_AUCDP_GetPageTitle()        获取当前页面标题
_AUCDP_GetPageContent()        获取当前页面完整 HTML
_AUCDP_SetContent($sHtml)        直接灌入 HTML(不通过网络),适合本地模板渲染、截图等
_AUCDP_Evaluate($sJs)        执行 JavaScript 并返回 JSON 结果
_AUCDP_WaitForNavigation()        等待当前页面导航完成(如点击链接后)
_AUCDP_WaitForCount()            等待选择器匹配的元素数量达到下限
_AUCDP_Reload()        刷新当前页面
_AUCDP_GetUrl()        获取当前页面 URL

元素交互
_AUCDP_Click($sSelector)        点击元素
_AUCDP_ClickCount($sSelector, $iCount)        带次数的点击(1 单击 / 2 双击 / 3 三击)
_AUCDP_DoubleClick($sSelector)        双击元素(ClickCount 的便捷封装)
_AUCDP_Hover($sSelector)        鼠标悬停在元素上(用于展开下拉菜单等)
_AUCDP_SetValue($sSelector, $sValue)        通过 JS 设置输入框值(自动触发 input 事件,支持中文)
_AUCDP_GetText($sSelector)        获取元素的 innerText
_AUCDP_GetInnerHtml($sSelector)        获取元素的 innerHTML
_AUCDP_GetOuterHtml($sSelector)        获取元素的 outerHTML(含自身标签)
_AUCDP_ElementExists($sSelector)        判断元素是否存在(1 存在 / 0 不存在)
_AUCDP_WaitForSelector($sSelector, $iTimeout, $iInterval)        等待选择器出现,代替 Sleep,超时返回 0
_AUCDP_Focus($sSelector)        聚焦元素
_AUCDP_ScrollTo($sSelector)        滚动到元素可见位置
_AUCDP_DownloadImage($sSelector, $sPath)        下载图片(含动态 GIF,通过 fetch 获取)
_AUCDP_BoundingBox($sSelector)        获取元素位置和尺寸,返回 JSON {"x","y","width","height"}
_AUCDP_GetProperty($sSelector, $sProp)        获取元素的 JS 属性(返回 JSON,如 input 改值后的当前 .value)

XPath 选择器
_AUCDP_XPathClick($sXPath)        用 XPath 找到第一个匹配元素并点击
_AUCDP_XPathGetText($sXPath)        获取 XPath 第一个匹配元素的 innerText
_AUCDP_XPathExists($sXPath)        XPath 是否匹配到任何元素(1 是 / 0 否)
_AUCDP_XPathCount($sXPath)        XPath 匹配的元素数量

键鼠模拟
_AUCDP_PressKey($sKey)        模拟按键(Tab / Enter / Space / Escape / 方向键等)
_AUCDP_InsertText($sText)        在当前焦点处插入文本(支持中文)
_AUCDP_MoveTo($x, $y)        移动鼠标到屏幕坐标

截图
_AUCDP_PageScreenshot($sPath)        可视区截图保存为 PNG
_AUCDP_PageScreenshotFull($sPath)        整页截图保存为 PNG(含滚动区域)
_AUCDP_ElementScreenshot($sSelector, $sPath)        对指定元素截图保存为 PNG
_AUCDP_SavePdf($sPath)        将当前页面保存为 PDF

Cookie 管理
_AUCDP_GetCookies()        获取所有 Cookie,返回 JSON 数组字符串
_AUCDP_SetCookies($sJson)        设置 Cookie(传入 JSON 数组)
_AUCDP_ClearCookies()        清除所有 Cookie
_AUCDP_DeleteCookie($sName, $sUrl)        删除指定名字的 Cookie($sUrl 留空则用当前页面 URL)

HTTP 认证
_AUCDP_Authenticate($sUser, $sPass)        HTTP Basic 认证,处理弹"用户名/密码"对话框的站点(凭证对后续所有请求生效)

对话框处理
_AUCDP_WaitForDialog($iTimeout)        阻塞等待下一个 alert/confirm/prompt 出现,返回 JSON {"type","message","url","defaultPrompt"},超时返回空字符串
_AUCDP_HandleDialog($bAccept, $sPromptText)        响应当前打开的对话框(True 接受 / False 取消,prompt 输入文本仅 prompt 类型有效)
_AUCDP_SetNextDialog($iAccept, $sPromptText)        预注册"下次对话框出现时自动如何响应",只生效一次(1 接受 / 0 拒绝 / -1 清除)

文件上传与下载
_AUCDP_UploadFile($sSelector, $sFilePath)        给 <input type="file"> 直接塞文件路径,不弹真实文件对话框
_AUCDP_UploadFiles($sSelector, $sPathsJson)        多文件上传,传 JSON 数组如 '["C:\\a.png","C:\\b.png"]'
_AUCDP_SetDownloadPath($sDir)        设置浏览器下载目录,后续点击下载链接的文件自动保存到此目录(不弹"另存为")

反爬与会话伪装
_AUCDP_EnableStealth()        启用反爬隐身模式,隐藏 webdriver、伪装 plugins/languages 等
_AUCDP_SetUserAgent($sUserAgent)        设置自定义 User-Agent
_AUCDP_SetExtraHeaders($sHeadersJson)        设置额外 HTTP 请求头(JSON 对象,如 '{"Referer":"..."}')

设备/环境模拟
_AUCDP_EmulateDevice($iWidth, $iHeight, $fScale, $bMobile)        模拟设备尺寸、像素比、移动端(响应式测试)
_AUCDP_EmulateGeo($fLat, $fLon, $fAccuracy)        模拟地理位置,影响 navigator.geolocation
_AUCDP_EmulateTimezone($sTimezone)        模拟时区,如 "Asia/Shanghai"、"America/New_York"
_AUCDP_EmulateLocale($sLocale)        模拟语言环境,如 "zh-CN"、"en-US"
_AUCDP_EmulateDarkMode($bEnabled)        切换 prefers-color-scheme 暗色/亮色模式
_AUCDP_SetOffline($bOffline)        模拟网络离线
_AUCDP_SetCacheEnabled($bEnabled)        启用/禁用浏览器缓存

浏览器与页面信息
_AUCDP_BrowserVersionInfo()        返回浏览器版本 JSON(协议版本、产品、UA、JS 引擎版本)
_AUCDP_PageMetrics()        返回页面性能指标 JSON 数组(DOM 节点数、JS 堆大小、布局次数等)

日志记录
_AUCDP_EnableLogging()         打开 DLL 内部日志记录
_AUCDP_DisableLogging()        关闭 DLL 内部日志记录

辅助函数
_AUCDP_GetAttribute($sSelector, $sAttr)        获取元素的指定 HTML 属性值
_AUCDP_ElementCount($sSelector)        统计匹配 CSS 选择器的元素数量
_AUCDP_EvaluateOnNewDocument($sJs)        在页面加载前注入 JavaScript(如隐藏 webdriver 特征)
_AUCDP_GetLastError()        获取最后一次操作的错误信息
_AUCDP_Version()        返回 DLL 版本字符串

常用启动方式:

; 自动检测模式(查找顺序优先google然后edge都没找到报错)
_AUCDP_Navigate("https://autoitx.com/")

; 指定使用Chrome(传真实路径)
_AUCDP_Navigate("https://autoitx.com/", _AUCDP_BuildConfig("C:\Program Files\Google\Chrome\Application\chrome.exe"))

; 指定使用Edge(传真实路径)
_AUCDP_Navigate("https://autoitx.com/", _AUCDP_BuildConfig("C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"))

; 自定义其他参数(传真实路路径,是否使用无头模式,浏览器宽度,浏览器高度,CDP请求超时秒数, 浏览器启动并就绪超时秒数)
_AUCDP_Navigate("https://autoitx.com/", _AUCDP_BuildConfig("C:\Program Files\Google\Chrome\Application\chrome.exe", True, 1920, 1080, 10, 30))

用户数据默认储存位置:%Temp%目录下aucdp_chrome和aucdp_edge,按需清理

最小化演示Bing搜索:
#AutoIt3Wrapper_UseX64=y
#include "aucdp_udf.au3"

; ---------- 1. 加载 DLL ----------
If Not _AUCDP_Start(@ScriptDir & "\aucdpx64.dll") Then
    Switch @error
        Case 1
            MsgBox(16, "致命错误", "DLL 加载失败" & @CRLF)
        Case 2
            MsgBox(16, "致命错误", "找不到 DLL:" & @CRLF & @ScriptDir & "\aucdpx64.dll")
    EndSwitch
    Exit 1
EndIf
_AUCDP_EnableLogging(@ScriptDir & "\aucdpx64.log", 3) ;开启DLL日志
; ---------- 2. 启动浏览器并打开 Bing ----------
If Not _AUCDP_Navigate("https://cn.bing.com") Then _Fail("启动浏览器并导航")

; ---------- 3. 等待搜索框就绪、填入关键词 ----------
If Not _AUCDP_WaitForSelector("#sb_form_q", 10000) Then _Fail("等待搜索框出现")
If Not _AUCDP_SetValue("#sb_form_q", "AutoIt中文论坛")  Then _Fail("填入搜索词")

; ---------- 4. 提交搜索(回车或点按钮二选一) ----------
;~ If Not _AUCDP_PressKey("Enter") Then _Fail("按回车")
If Not _AUCDP_Click("label[for='sb_form_go']") Then _Fail("点击搜索按钮")

; ---------- 5. 等待结果页加载() ----------
If Not _AUCDP_WaitForCount("li.b_algo h2 a", 3, 10000) Then _Fail("等待搜索结果加载完成")

; ---------- 6. 输出信息 + 整页截图 ----------
ConsoleWrite("DLL版本: " & _AUCDP_Version() & @CRLF & _
        "URL:" & _AUCDP_GetUrl() & @CRLF & _
        "标题:" & _AUCDP_GetPageTitle() & @CRLF & _
        "HTML:" & _AUCDP_GetPageContent() & @CRLF)

Local $sShot = @ScriptDir & "\bing_result.png"
If Not _AUCDP_PageScreenshotFull($sShot) Then _Fail("整页截图")

; ---------- 7. 收尾 ----------
_AUCDP_Shutdown()
ShellExecute($sShot)

; ============================================================
; 通用失败处理:报具体步骤 + dll真实错误,然后退出
; ============================================================
Func _Fail($sStep)
    Local $sErr = _AUCDP_GetLastError()
    Local $sMsg = "[" & $sStep & "] 失败"
    If $sErr <> "" Then $sMsg &= @CRLF & @CRLF & "DLL 错误信息:" & @CRLF & $sErr
    MsgBox(16, "操作失败", $sMsg)
    ConsoleWrite("! " & $sMsg & @CRLF)
    _AUCDP_Shutdown()
    Exit 1
EndFunc
历时一周迭代了3个大版本主要新增功能函数,和数个小版本修复BUG
udf库下载:
目前实验性的实现了一些功能,使用本论坛登录来演示下


测试环境Windows10(22H2)+Autoit3.3.18.0+Google Chrome148.0.7778.97正式版(64 位) +Microsoft Edge148.0.3967.54 (正式版本) (64 位)
有问题和错误跟帖反馈,考虑不周的地方再修复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 3金钱 +157 贡献 +2 收起 理由
zhaoceshi + 18 很给力!
fyq + 40 很给力!
haijie1223 + 99 + 2 赞一个!

查看全部评分

发表于 2026-5-11 01:54:58 | 显示全部楼层
巴错巴错,干得漂亮
发表于 2026-5-11 09:31:51 | 显示全部楼层
感谢分享经验成果,巴适得板!
发表于 2026-5-13 21:55:17 | 显示全部楼层
"C:\Users\Admin\Desktop\新建 AutoIt v3 脚本 (2).au3"(107,10) : error: can't open include file "aucdp_udf.au3".
#include "aucdp_udf.au3"
~~~~~~~~~^
"C:\Users\Admin\Desktop\新建 AutoIt v3 脚本 (2).au3"(109,26) : error: _AUCDP_Start(): undefined function.
_AUCDP_Start("aucdp.dll")
~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\新建 AutoIt v3 脚本 (2).au3"(110,39) : error: _AUCDP_Navigate(): undefined function.
_AUCDP_Navigate("https://cn.bing.com")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\新建 AutoIt v3 脚本 (2).au3"(111,27) : error: _AUCDP_WaitForNavigation(): undefined function.
_AUCDP_WaitForNavigation()
~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\新建 AutoIt v3 脚本 (2).au3"(112,52) : error: _AUCDP_SetValue(): undefined function.
_AUCDP_SetValue("#sb_form_q", "AutoIt涓枃璁哄潧")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\新建 AutoIt v3 脚本 (2).au3"(114,40) : error: _AUCDP_Click(): undefined function.
_AUCDP_Click("label[for='sb_form_go']")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\新建 AutoIt v3 脚本 (2).au3"(116,48) : error: _AUCDP_GetPageTitle(): undefined function.
ConsoleWrite("鏍囬:" & _AUCDP_GetPageTitle() &
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\新建 AutoIt v3 脚本 (2).au3"(116,97) : error: _AUCDP_GetPageContent(): undefined function.
ConsoleWrite("鏍囬:" & _AUCDP_GetPageTitle() & @CRLF & "瀹屾暣HTML:" & _AUCDP_GetPageContent())
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\新建 AutoIt v3 脚本 (2).au3"(117,55) : error: _AUCDP_PageScreenshot(): undefined function.
_AUCDP_PageScreenshot(@ScriptDir & "\bing_result.png")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\新建 AutoIt v3 脚本 (2).au3"(118,18) : error: _AUCDP_Shutdown(): undefined function.
_AUCDP_Shutdown()
~~~~~~~~~~~~~~~~~^
C:\Users\Admin\Desktop\新建 AutoIt v3 脚本 (2).au3 - 10 error(s), 0 warning(s)
IONNAME=Console!>21:54:04 AU3Check 已结束。按 F4 跳转到下一个错误。[CODE]:2

用的是本论坛3.3.18.0版本的
 楼主| 发表于 2026-5-13 22:03:05 | 显示全部楼层
xz00311 发表于 2026-5-13 21:55
"C:%users\Admin\Desktop\新建 AutoIt v3 脚本 (2).au3"(107,10) : error: can't open include file "aucdp ...

error: can't open include file "aucdp_udf.au3".
下载帖子的udf库
发表于 2026-5-14 00:36:51 | 显示全部楼层
下载了你的网盘文件都在同一个目录下的,运行后还是显示那上面的提示,差点我都放在库里面看看了,我用的是QQ浏览器 123的
 楼主| 发表于 2026-5-14 00:50:31 | 显示全部楼层
xz00311 发表于 2026-5-14 00:36
下载了你的网盘文件都在同一个目录下的,运行后还是显示那上面的提示,差点我都放在库里面看看了,我用的是QQ ...

目前只支持Google Chrome和Microsoft Edge,其它没做适配,手动指定浏览器路径试试
发表于 2026-5-14 21:16:29 | 显示全部楼层
浏览器在哪里文件里面改啊
发表于 2026-5-15 08:23:51 | 显示全部楼层
本帖最后由 vspeitao@126.co 于 2026-5-15 08:24 编辑

启动失败,默认用的edge浏览器

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2026-5-15 10:55:09 | 显示全部楼层
vspeitao@126.co 发表于 2026-5-15 08:23
启动失败,默认用的edge浏览器

; 指定使用Edge(传真实路径)
_AUCDP_Navigate("https://autoitx.com/", _AUCDP_BuildConfig("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"))
试试这样能不能启动,记得替换自己edge浏览器路径,接下来我会添加更多容错
发表于 2026-5-15 12:47:44 | 显示全部楼层
繁星 发表于 2026-5-15 10:55
; 指定使用Edge(传真实路径)
_AUCDP_Navigate("https://autoitx.com/", _AUCDP_BuildConfig("C:\\Progr ...

还是一样

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2026-5-15 16:22:36 | 显示全部楼层

跑下测试代码看看卡在哪里了
#AutoIt3Wrapper_UseX64 = y
#include "aucdp_udf.au3"

; 1.检查位数
ConsoleWrite("@AutoItX64 = " & @AutoItX64 & @CRLF)
ConsoleWrite("@OSArch    = " & @OSArch & @CRLF)
If @AutoItX64 = 0 Then
    MsgBox(16, "停下", "你这是 32 位 AutoIt 进程,加载不了 x64 DLL!请用 Run Script (x64) 或编译成 exe")
    Exit
EndIf

; 2.检查DLL文件位置
Local $sDll = @ScriptDir & "\aucdpx64.dll"
ConsoleWrite("DLL 路径: " & $sDll & @CRLF)
If Not FileExists($sDll) Then
    MsgBox(16, "停下", "DLL 找不到: " & $sDll)
    Exit
EndIf

; 3.看看DllOpen能不能成功
If Not _AUCDP_Start($sDll) Then
    MsgBox(16, "停下", "DllOpen 失败 — 可能缺失依赖")
    Exit
EndIf

; 4.看看能不能调用最简单的函数
Local $sVer = _AUCDP_Version()
If $sVer = "" Then
    MsgBox(16, "停下", "DLL 加载了但函数调用失败")
    Exit
EndIf
MsgBox(0, "✓ DLL 就绪", "版本: " & $sVer)

; 5.尝试打开浏览器试试
If Not _AUCDP_Navigate("https://cn.bing.com") Then
    MsgBox(16, "Navigate 失败", _AUCDP_GetLastError())
    Exit
EndIf
MsgBox(0, "✓ 成功", "全过了")
_AUCDP_Shutdown()
发表于 2026-5-16 01:38:02 | 显示全部楼层
"C:\Users\Admin\Desktop\aucdp\测试.au3"(2,10) : error: can't open include file 'aucdp_udf.au3'.
#include 'aucdp_udf.au3'
~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(3,10) : error: can't open include file 'auddddocr_udf.au3'.
#include 'auddddocr_udf.au3'
~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(7,136) : error: _DDDDOCR_Init(): undefined function.
Local $hOcr = _DDDDOCR_Init(@ScriptDir & "\models\autoitx_1.0_92_12000_2026-04-05-00-25-23.onnx", @ScriptDir & "\models\charsets.json")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(10,26) : error: _AUCDP_Start(): undefined function.
_AUCDP_Start("aucdp.dll")
~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(11,128) : error: _AUCDP_BuildConfig(): undefined function.
_AUCDP_Navigate("https://autoitx.com/", _AUCDP_BuildConfig("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(11,129) : error: _AUCDP_Navigate(): undefined function.
_AUCDP_Navigate("https://autoitx.com/", _AUCDP_BuildConfig("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(15,34) : error: _AUCDP_Click(): undefined function.
_AUCDP_Click("#lsform button.pn")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(19,52) : error: _AUCDP_SetValue(): undefined function.
_AUCDP_SetValue("input[name='username']", "绻佹槦")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(31,56) : error: _AUCDP_DownloadImage(): undefined function.
        _AUCDP_DownloadImage("img[src*='mod=seccode']", $sGif)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(34,49) : error: _DDDDOCR_Recognize(): undefined function.
        Local $sCode = _DDDDOCR_Recognize($hOcr, $sBmp)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(42,24) : error: _AUCDP_PressKey(): undefined function.
        _AUCDP_PressKey("Tab")
        ~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(46,48) : error: _AUCDP_ElementExists(): undefined function.
        If _AUCDP_ElementExists("i.fico-check_right") Then
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(49,39) : error: _AUCDP_GetPageTitle(): undefined function.
                If StringInStr(_AUCDP_GetPageTitle(),
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(56,22) : error: _DDDDOCR_Close(): undefined function.
_DDDDOCR_Close($hOcr)
~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(57,21) : error: _DDDDOCR_UnloadDLL(): undefined function.
_DDDDOCR_UnloadDLL()
~~~~~~~~~~~~~~~~~~~~^
"C:\Users\Admin\Desktop\aucdp\测试.au3"(59,18) : error: _AUCDP_Shutdown(): undefined function.
_AUCDP_Shutdown()
~~~~~~~~~~~~~~~~~^
C:\Users\Admin\Desktop\aucdp\测试.au3 - 16 error(s), 0 warning(s)
emp!>01:36:54 AU3Check 已结束。按 F4 跳转到下一个错误。[CODE]:2
加上路径也出现这个问题
发表于 2026-5-17 02:52:58 | 显示全部楼层
运行If Not _AUCDP_Navigate("https://cn.bing.com") Then _Fail("启动浏览器并导航")成功。但有一个无用的新建标签页并显示 使用的是不受支持的命令行标志:--disable-blink-features=AutomationControlled。这会带来稳定性和安全风险。edge浏览器版本 148.0.3967.70 (正式版本) (64 位)系统原版。
 楼主| 发表于 2026-5-17 16:42:52 | 显示全部楼层
xz00311 发表于 2026-5-16 01:38
"C:%users\Admin\Desktop\aucdp\测试.au3"(2,10) : error: can't open include file 'aucdp_udf.au3'.
#inc ...

下载最新的UDF库,然后使用最小化演示Bing搜索测试下,有为什么报错的原因
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2026-6-1 01:17 , Processed in 0.081637 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表