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

使用Selenium做Windows身份验证时AutoIt脚本无法读取#1问题求助

解决AutoIt脚本无法识别密码中#1的问题

嘿,这个坑我之前踩过!AutoIt里的#是特殊前缀字符,它会把#1解析成代表鼠标左键的内置常量,而不是你想要的字面字符串#1——这就是为啥你的密码只输入了testen,后面的#1直接被AutoIt“忽略”成了指令,没当成文本输入。

给你几个靠谱的解决方案:

  • 转义特殊字符:AutoIt里用两个#来表示一个字面的#,把你的密码字符串改成"testen##1"就行。比如你的Send语句可以写成:

    Send("testen##1")
    

    这样AutoIt就会把##解析成单个#,最终输入的就是完整的testen#1。

  • 用ASCII码输入特殊字符:#的ASCII码是35,你可以拆分密码输入,把特殊字符单独用ASCII指令发送:

    ; 先输入普通文本
    Send("testen")
    ; 输入#
    Send("{ASC 35}")
    ; 输入最后一位1
    Send("1")
    

    这种方法适合遇到多个特殊字符的场景,完全避免解析冲突。

  • 直接设置控件文本(更稳定):如果你能定位到密码输入框的控件,用ControlSetText直接赋值会比Send更可靠,同样记得转义#:

    ; 这里的"Edit2"是密码框的控件类名+实例,需要用AutoIt Window Info工具确认
    ControlSetText("Windows Security", "", "Edit2", "testen##1")
    

小提醒:以后写AutoIt脚本碰到!(Alt键)、^(Ctrl键)、#(Win键)这类特殊字符,都要记得转义或者用ASCII方式输入,避免被当成快捷键解析哦。

内容的提问来源于stack exchange,提问作者Bibin P Das

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:36:01