说起UI自动化,selenium一直是不可替代的存在,它的安装量、百度数量已经奠定了它在自动化、爬虫等相关领域的霸主低位,可以说,只要涉及到UI自动化,选selenium就对了。

  细数过往,相关的UI自动化方案还有robotframework,katalon,尽管仍有一些公司在用它们,但据我所知,用它们的基本都处于玩玩的阶段,像是初入门的学生图个新鲜感,用在项目上做好持续集成的几乎没有。例如前者的缺点我实在无力吐槽,但就这么一个库竟然仍有不少公司在招聘上面写着要会robotframework,尽管项目中用不到,这说明什么?你细品。

  展望未来,确实有不少后来者非常方便,例如基于js的puppeter,访问协议决定了它的优势,但自动化领域掌握前端语言的很少。再例如号称新一代的自动化神器playwright,可以说是差点超越selenium的存在了,之所以用“差点”,就是说它并不比selenium更有优势,selenium也在与时俱进,它能做到的,selenium照样可以。想比异步吗?项目中没人觉得async、await会更nb的样子。反而你的chromenium内核需要手动更新,而新selenium已经能做到自动更新driver了。所以为什么不选生态更好、更稳的selenium呢。

  尽管还有不少新的工具或者库,但承认吧,几乎都是闲鱼一类的角色,selenium用仅20年的成长告诉你,它就是霸主。

  直到,发现了它-clicknium。

  但是,它仍然不完美,但是,这并不妨碍它才是真正的挑战者,噢,不仅如此,我看到它日后超越selenium的样子。

  它是基于用户层面的交互,不是什么网络协议。就这一点,就让所有自动化黯然失色。

  目前它作为插件只支持vscode,但真的无妨,很好用,我的项目遇到了反爬,我用它解决的。如果没有它,我的某条业务线就死了。

  我联系官方问什么时候支持pycharm,官方回我了,我仿佛看到了真正的曙光。

  它是阿里旗下的,国产就是强大,现在就可以用起来。

 

  2023/2/23补充:

  在工作中,有关三星的这条业务线由于防爬的原因,我用的是clicknium写的,风格如下:

  

 

   但我不喜欢用这个库,因为它支持支vscode,而我偏爱pycharm。

   如今发现了更好的代替品drissionpage。可以见我另一篇相关的博客。https://www.cnblogs.com/teark/p/17148431.html