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

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

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 文件,在命令行中执行即可。

AI Word
AI Word

一款强大的 AI 智能内容创作平台,致力于帮助用户高效生成高质量、原创且符合 SEO 规范的各类文章。

AI Word 226
查看详情 AI Word
写一个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%激活成功。

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

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