学习 TagUI 踩过的坑
初学使用 TagUI 进行自动化操作,这里记录下遇到的问题和解决方法。
下载的 TagUI 版本:6.110.0
操作系统:Windows 7 SP1 64位 企业版
网上按照教程说要安装 OpenJDK,我暂时还没装,目前尚未遇到问题。
问题1:运行时提示:无法启动此程序,因为计算机中丢失 MSVCR110.dll。尝试重新安装该程序以解决此问题。
解决方法:实际是缺少微软 VC2012的库文件,官网安装一个即可,注意选择 x86 版本,x64的版本是不行的。
Download Visual C++ Redistributable for Visual Studio 2012 Update 4 from Official Microsoft Download Center
问题2:流程脚本中有中文时,一是在 CMD 命令行会显示乱码,不方便查看;二是当网页元素的 id,name,class 等值为中文时,会找不到指定的页面元素,导致执行失败(提示:ERROR - can not find XXXX)。
解决方法:这个问题实际上要一分为二,一个是 CMD 命令行显示,一个是脚本执行。
1.先从核心的脚本执行来说。TagUI 对脚本的编码格式是有要求的,即 UTF-8 编码格式且不含 BOM(UTF-8有两种编码方式,一个是含 BOM 的,也是 Windows 默认的,一个是不含 BOM 的,网页大都是这个编码方式)。因为 Windows 自带的软件都没法保存成不含 BOM 的,所以日常编辑流程脚本需要用第三方软件,如 VSCode,Notepad++等。已经有 BOM 的要用上述软件另存转化。做到这里,虽然 CMD 命令行还是显示乱码,但流程脚本已经可以正常运行了。
2.接下来解决显示乱码问题,参考该文章:https://blog.csdn.net/lyyybz/article/details/120782669
这里直接上干货:在桌面建一个文本文件,更名为“65001.reg”(注意扩展名不能是.txt),粘贴以下内容:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"autorun"="chcp 65001"
保存后用鼠标双击该文件导入注册表。
也可以用注册表编辑器,手工找到对应栏目,添加字符串值。
修改后,再次运行 CMD 命令行时,会自动执行“chcp 65001”命令,修改代码页为 UTF-8,从而解决显示乱码问题。
问题3:当你开着 Chrome 浏览器时运行流程脚本,正常时会另外打开一个 Chorme 浏览器来执行脚本,但也可能会遇到脚本卡住没反应的情形,这种情况下使用 Ctrl + C 中断执行,再关闭所有的 Chrome 浏览器,重新执行时也会被卡住。
解决方法:关闭 CMD 命令行重新运行即可,再不行就重启电脑。