windows使用bat编写自启动带用户登录数据的浏览器

看不見的法師
发布: 2025-06-25 08:16:02
原创
316人浏览过

windows使用bat编写自启动带用户登录数据的浏览器

本文是为了优化前文selenium&playwright指定浏览器操作,编写了一个bat单独运行。(基于windows

这样使用这个工具的人员可以直接在自己电脑上双击bat后再双击exe就可以直接运行程序,无需配置任何环境。

接着前文解决一下报错

报错playwright._impl._api_types.Error

在后续集成好的代码运行过程中会出现如下报错

代码语言:javascript代码运行次数:0运行复制
playwright._impl._api_types.Error: It looks like you are using Playwright Sync API inside the asyncio loop.Please use the Async API instead.
登录后复制

这里是因为我循环一次请求会重新实例化一个playwright,但上一次实例化的playwright并没有关闭,所以需要在代码里面加上

代码语言:javascript代码运行次数:0运行复制
def pw_stop(self):    time.sleep(5)    self.playwright.stop()
登录后复制

此操作在get_headers之后进行。

(虽然他建议的是我要使用异步模式,但我是指定浏览器打开,异步模式里面没有我需要的API)

使用bat脚本创建文件夹

可以使用以下的 BAT 脚本创建文件夹到 C 盘并检查它是否已存在:

代码语言:javascript代码运行次数:0运行复制
@echo offset folder=C:\MyFolderif not exist %folder% (    echo Creating folder...    mkdir %folder%    echo Folder created successfully!) else (    echo Folder already exists!)pause
登录后复制

脚本中,首先定义了要创建的文件夹路径为 C:\MyFolder,然后使用 if not exist 判断该文件夹是否已存在。如果不存在,则输出信息“Creating folder...”,并使用 mkdir 命令创建文件夹。创建成功后,输出信息“Folder created successfully!”。如果文件夹已存在,则输出信息“Folder already exists!”,不执行创建操作。

可以将上述代码保存为 XXX.bat 文件,在命令行中执行即可。

写一个bat脚本,获取chrome.exe所在的路径

可以使用以下的 BAT 脚本获取 Chrome.exe 所在的路径:

代码语言:javascript代码运行次数:0运行复制
@echo offsetlocalrem 获取 Chrome.exe 所在的路径set "chromePath="for /f "tokens=* usebackq" %%a in (`where chrome.exe`) do (    set "chromePath=%%a"    goto :done):doneecho Chrome.exe is located at:echo %chromePath%pauseendlocal
登录后复制

脚本中,首先使用 where 命令查找 Chrome.exe 所在的路径,并通过 for 循环获取该路径并赋值给变量 chromePath,然后使用 goto 语句跳出循环。最后,使用 echo 命令输出 Chrome.exe 所在的路径。

可以将上述代码保存为 XXX.bat 文件,在命令行中执行即可。

解决bat的echo中文乱码

在BAT脚本中,如果您使用中文字符作为echo命令中的参数,则可能会出现乱码的情况。解决这个问题的方法是在使用echo命令输出中文字符之前,将输出的代码页设置为UTF-8编码或其他支持中文字符的代码页。可以使用chcp命令来修改当前的代码页。

以下是设置代码页为UTF-8并输出中文字符的示例代码:

代码语言:javascript代码运行次数:0运行复制
@echo offchcp 65001  > nulecho 你好世界!
登录后复制

在上面的代码中,chcp 65001命令用于设置代码页为UTF-8编码,>nul用于将chcp命令的输出重定向到空设备,以避免在脚本中显示不必要的输出。然后,使用echo命令输出中文字符“你好世界!”,这时候就不会出现乱码了。

如果您使用的操作系统不支持UTF-8编码,可以使用其他支持中文字符的代码页,例如:936(中文简体)或950(中文繁体)。在这种情况下,您可以将chcp命令的参数值更改为对应的代码页编号即可。

完整的bat脚本代码语言:javascript代码运行次数:0运行复制
@echo offchcp 65001  > nulecho ************************echo *****Start Runing*******echo ************************set folder=C:\MyAutoFolder\AutomationProfileif not exist %folder% (    echo Creating folder...    mkdir %folder%    echo Folder created successfully!) else (    echo Folder already exists!)rem 获取 Chrome.exe 所在的路径set "chromePath="for /f "tokens=* usebackq" %%a in (`where chrome.exe`) do (    set "chromePath=%%a")echo chromepath is : %chromePath%rem 启动127.0.0.1:9222端口的谷歌浏览器echo Start ChromeBrowser at 127.0.0.1:9222 echo 浏览器启动完毕,输入回车键关闭当前窗口%chromePath% --remote-debugging-port=9222 --user-data-dir=%folder%pause 
登录后复制

将上面的代码保存为XXX.bat,双击即可运行,会打开一个新的chrome浏览器。

你可以在这个浏览器进行登录操作,并保存账户信息。

之后通过selenium或playwright连接该浏览器,就不需要登录操作,可直接进行后续自动化操作。

以上就是windows使用bat编写自启动带用户登录数据的浏览器的详细内容,更多请关注php中文网其它相关文章!

Windows激活工具
Windows激活工具

Windows激活工具是正版认证的激活工具,永久激活,一键解决windows许可证即将过期。可激活win7系统、win8.1系统、win10系统、win11系统。下载后先看完视频激活教程,再进行操作,100%激活成功。

下载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号