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

编写BAT脚本实现Chrome打开指定网页、代理登录及下拉框选择

兄弟,BAT本身是命令行脚本,没法直接操控浏览器的GUI交互(比如输代理密码、选下拉菜单这些),得搭配自动化工具才行。给你两个实用的方案,你可以根据自己的情况选:


方案一:AutoHotkey + BAT(简单易上手)

AutoHotkey是专门做GUI自动化的工具,能模拟键盘鼠标操作,刚好能解决你的需求。

步骤1:编写AutoHotkey脚本(命名为AutoFill.ahk)

这个脚本会帮你自动处理代理认证和下拉菜单选择,记得把里面的占位符替换成你的实际信息:

; 等待Chrome窗口启动并激活
WinWait, Google Chrome
WinActivate, Google Chrome

; 等待代理认证弹窗(注意:不同语言系统弹窗标题不一样,英文是"Authentication Required",中文是"代理认证",要对应改)
WinWait, 代理认证
WinActivate, 代理认证

; 输入代理用户名,按TAB切换到密码框
Send, 你的代理用户名{TAB}
; 输入密码并回车确认
Send, 你的代理密码{Enter}

; 等待网页加载完成(时间可以根据网页速度调整,单位是毫秒)
Sleep, 3000

; 定位下拉菜单:这里假设按5次TAB能聚焦到下拉框,你可以自己数一下实际需要按几次
Send, {TAB 5}
; 按向下箭头选择目标选项(选第2个就按1次,第3个按2次,以此类推)
Send, {Down}{Enter}

步骤2:编写BAT脚本调用AHK

把下面的代码保存为LaunchChrome.bat,记得替换网页地址和AHK脚本的路径:

@echo off
; 启动Chrome并打开目标网页
start chrome.exe "https://你的目标网页地址.com"
; 调用AutoHotkey脚本(如果AHK脚本和BAT在同一文件夹,直接写文件名就行)
start "" "AutoFill.ahk"

注意事项

  • 要先安装AutoHotkey(免费工具,官网下载即可)
  • 代理弹窗的标题一定要和你的系统语言匹配,不然脚本找不到窗口
  • 下拉菜单的TAB次数要自己实际测试调整,或者用更精准的元素定位(比如通过Chrome开发者工具找元素的ClassNN,用ControlFocus直接聚焦)

方案二:PowerShell + Selenium(更稳定可靠)

如果想要更精准的浏览器控制,推荐用PowerShell搭配Selenium,它能直接操作网页DOM元素,不用依赖模拟键盘,稳定性更高。

步骤1:准备环境

  1. 打开PowerShell,执行下面的命令安装Selenium模块:
Install-Module -Name Selenium -Force
  1. 下载和你Chrome版本对应的ChromeDriver,放到系统PATH里,或者和脚本放在同一文件夹。

步骤2:编写PowerShell脚本(命名为AutoBrowser.ps1)

替换里面的代理信息、网页地址和下拉菜单的定位参数:

# 导入Selenium模块
Import-Module Selenium

# 配置Chrome选项(如果需要手动设置代理的话,把下面注释去掉)
# $proxy = New-Object OpenQA.Selenium.Proxy
# $proxy.HttpProxy = "http://你的代理地址:端口"
# $proxy.SslProxy = "http://你的代理地址:端口"
# $chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions
# $chromeOptions.Proxy = $proxy

# 启动Chrome浏览器
$driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver

# 打开目标网页
$driver.Navigate().GoToUrl("https://你的目标网页地址.com")

# 处理代理认证:如果是网页内的弹窗,可以用下面的代码(系统级弹窗得配合AutoHotkey)
# $wait = New-Object OpenQA.Selenium.Support.UI.WebDriverWait($driver, [System.TimeSpan]::FromSeconds(10))
# $alert = $wait.Until([OpenQA.Selenium.Support.UI.ExpectedConditions]::AlertIsPresent())
# $alert.SendKeys("你的代理用户名{Tab}你的代理密码")
# $alert.Accept()

# 等待下拉菜单加载完成(最多等10秒)
$wait = New-Object OpenQA.Selenium.Support.UI.WebDriverWait($driver, [System.TimeSpan]::FromSeconds(10))
$selectElement = $wait.Until([OpenQA.Selenium.Support.UI.ExpectedConditions]::ElementIsVisible([OpenQA.Selenium.By]::Id("下拉菜单的ID")))

# 选择目标选项:可以通过文本或值选择
$select = New-Object OpenQA.Selenium.Support.UI.SelectElement($selectElement)
# 比如通过选项文本选择
$select.SelectByText("你要选的选项文本")
# 或者通过选项的value属性选择
# $select.SelectByValue("选项的value值")

步骤3:编写BAT脚本调用PowerShell

保存为LaunchChrome.bat:

@echo off
; 绕过PowerShell执行限制,运行脚本
powershell -ExecutionPolicy Bypass -File "AutoBrowser.ps1"

注意事项

  • ChromeDriver版本必须和你的Chrome版本完全匹配,不然会报错
  • 如果是系统级的代理认证弹窗,Selenium没法直接处理,这时候可以结合方案一的AHK脚本处理弹窗
  • 下拉菜单的定位方式可以灵活调整:比如用FindElementByName、FindElementByXPath,根据你网页源码里的元素属性来选

内容的提问来源于stack exchange,提问作者Eat-man

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 06:23:37