原本的 selenium+Chrome 已无法正常工作。chromedriver 报错:不支持 Linux/aarch64。
1、尝试Firefox、edge驱动。Firefox有一个geckodriver版本与Firefox版本的对照表,我看了一下,感觉他们是始终跟进新技术的。银河麒麟的很多库都是几年前的,如果要升级,就要升级一大批,不升级的话,想让多个库相互匹配,感觉工程量也不小。edge 驱动我试了一下,老是不识别,找了半天没找到原因,我也放弃了。
2、使用 chromedriver 的Linux 版。rpm 有aarch64版本,可以去下载 链接,但还是报错。
(1)升级glibc,而且不能直接 apt Insall 。因为银河麒麟默认服务器的glibc 版本也不高。应该要自己编译。而且为了系统稳定,原来的版本最好保留。关于如何同时安装两个版本的glibc,CSDN 上有一篇收费文章,如何安装两个版本的glibc,其实换个关键词搜,会有很多免费的资源,例如:Linux|如何安装和运行多个 glibc 库
(2)使用docker 。这个方法其实很直接了,而且后续维护成本低。
3、更换playwright 。在粗略了解了playwright 后,我决定换框架。首先,playwright 在安装时,只需一条简单的命令即可自动选择合适版本的支持环境,Chrome、firfox、edge 都支持。在代码层面,写法比 selenium 好看太多了。之前 selenium 需要精心规划才能写的好看点。而playwright 的特性让他的可读性很好。另外,感觉 playwright 运行要快一点,查找可见元素也比 selenium 方便。playwright 还支持录制操作步骤。微软的产品能力还是很强的。换框架在AI 时代并不特别复杂,可以直接交给智谱清言转换一部分。