User Tools

Site Tools


web:automation

关于网页自动化的研究

1 Selenium WebDriver 这是我们用了十几年的技术,十分成熟。原理也很简单:就是给每个浏览器的不同版本都写一个web driver,驱使它做各种操作的可执行文件。这个驱动程序定义了一些统一的API出来。接着用不同的语言实现一遍这些API。

所以就出现了Python版,Java版等等

2 Selenium IDE 号称 是给不用编程的人写网页自动化的,目前看来就是浏览器内下载一个插件,然后用这个插件能够自动记录浏览器的行为,并生成对应的json内容。这个内容就相当于和驱动程序打交道的命令集。 然后可以想尽各种办法让这一组命令集合 和驱动程序 协同工作。

个人尝试下来,发现这有个致命的问题。本身这些自动生成的,或者手动编辑的命令集,对于程序里面的if else或者其他的判断支持地很不好。所以真正涉及到逻辑处理,它是恨不擅长的,导致往往自动录制好导出的命令集,都不太能用。还需要借助各种复杂的javascript代码。

3 Playwright。这是微软2019年出的产品。他的流行趋势已经慢慢超过了selenium.

Selenium只是提供了一组让程序员操作浏览器的接口。而playwright真正的是一个完备的网页自动化框架。比如自动化过程中,要对网页截图,playwright有很好的方法去完成。
Selenium每次要自己去找对应不同的webdriver来驱动浏览器,手动下载和管理web driver. 但是playwright完全不需要,他只需要引入一个依赖jar,就可以完成。 而且playwright的定位器也比web driver做得好多了。他可以支持根据placeholder定位,根据文案定位。

同样的,playwright还支持4中语言版本:Python, Java, Nodejs, C#.

web/automation.txt · Last modified: 2023/04/10 01:44 by morgan0329

Except where otherwise noted, content on this wiki is licensed under the following license: 沪ICP备12046235号-2
Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki