爬虫不仅仅selenium自动化,还有这些。。。

发布时间 2023-08-07 14:17:45作者: 见于初始

1.DrissionPage

这款工具既能控制浏览器,也能收发数据包,甚至能把两者合而为一,简单来说:集合了WEB浏览器自动化的便利性和 requests 的高效率优点。

采用全自研的内核,对比 selenium,有以下优点:

无 webdriver 特征,不会被网站识别,无需为不同版本的浏览器下载不同的驱动 。

运行速度更快,可以跨 iframe 查找元素,无需切入切出,iframe 看作普通元素,获取后可直接在其中查找元素,逻辑更清晰。

可以同时操作浏览器中的多个标签页,即使标签页为非激活状态,无需切换。

内置等待和自动重试功能。使不稳定的网络变得易于控制,程序更稳定,编写更省心。

允许反复使用已经打开的浏览器。无须每次运行从头启动浏览器,调试超方便。

极简的语法规则。集成大量常用功能,定位元素更加容易,功能更强大稳定。

使用 POM 模式封装,可直接用于测试,便于扩展。

等等。。。

官方文档地址:http://g1879.gitee.io/drissionpagedocs/ChromiumPage/browser_options/#debugger_address

2.undetected_chromedriver

安装方式:pip install  git+https://github.com/ultrafunkamsterdam/undetected-chromedriver.git

undetected_chromedriver 可以防止浏览器特征被识别,并且可以根据浏览器版本自动下载驱动。

3. puppeteer

Puppeteer 是一个 Node 库,它提供了一个高级 API 来通过 DevTools 协议控制 Chromium 或 Chrome。Puppeteer 默认以 headless 模式运行,但是可以通过修改配置文件运行“有头”模式。

中文文档:https://puppeteer.bootcss.com/

4.splash  

Splash 是一个JavaScript渲染服务,是一个带有HTTP API的轻量浏览器,同时它对接了Python中的Twisted和QT库利用它,可以同样实现动态渲染页面的抓取

使用方法:https://blog.csdn.net/Smart_look/article/details/122352722

5.playwright

Playwright 是微软在 2020 年初开源的新一代自动化测试工具,它的功能类似于 Selenium、Pyppeteer 等,都可以驱动浏览器进行各种自动化操作。它的功能也非常强大,对市面上的主流浏览器都提供了支持,API 功能简洁又强大。虽然诞生比较晚,但是现在发展得非常火热。

因为 Playwright 是一个类似 Selenium 一样可以支持网页页面渲染的工具,再加上其强大又简洁的 API,Playwright 同时也可以作为网络爬虫的一个爬取利器。

使用方法:https://mp.weixin.qq.com/s/LBjf2natwOPhvhpKYIrlvw

官网:https://playwright.dev/python/docs/intro

6.autojs  (手机端)

auto.js是一款Android平台上的JavaScript自动化工具,可以帮助我们完成各种自动化任务,例如模拟用户操作、截图、文件管理等等。通过auto.js,我们可以轻松地实现自动化爬虫、数据分析等功能。

官方文档:https://hyb1996.github.io/AutoJs-Docs/#/

Github:https://github.com/hyb1996/Auto.js

官方论坛:https://www.autojs.org/

非官方文档:https://easydoc.xyz/doc/25791054/uw2FUUiw/3bEzXb4y
7.weditor+uiautomation (手机端)

uiautomator2是一个自动化测试开源工具,仅支持Android平台 的原生应用测试。它本来是Google提供的一个自动化测试的Java库,后来发展了python-uiautomator2,封装了谷歌自带的uiautomator测试框架,提供便利的python接口,用它可以很便捷的编写python脚本来实现app的自动化测试。

Python控制安卓模拟器或真实手机时,最常用和好用的模块是uiautomator2(因为美亚等大公司的软件都是使用uiautomator2),而最常用和好用的调试助手是weditor

使用方法:https://blog.csdn.net/yangyue0205/article/details/126735981

8.aritest  (手机端)

Airtest是网易开发的手机UI界面自动化测试工具,它原本的目的是通过所见即所得,截图点击等等功能,简化手机App图形界面测试代码编写工作。

官方文档:https://airtest.netease.com/

9.appium (手机端)

appium是一个移动 App (手机应用)自动化工具。支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性。
使用方法:https://blog.csdn.net/qq_46485161/article/details/119738901

10.pywinauto

是基于Python开发的,用于自动化测试的脚本模块,主要操作于Windows标准图形界面。它可以允许你很容易的发送鼠标、键盘动作给Windows的对话框和控件。

使用方法:https://www.cnblogs.com/xp1315458571/p/13892205.html