Katalon Recorder 自动录制 Selenium 爬虫脚本
相信很多小伙伴都用过 Selenium 来完成爬虫工作,今天就给大家带来一个神器,可以录制你的浏览器动作,然后直接生成 Selenium 脚本,是不是心动了?

1 Selenium 简介
Selenium 是为了测试而出生的。但是没想到到了爬虫的年代,它摇身一变,变成了爬虫的好工具。
让我试着用一句话来概括 Seleninm:它能控制你的浏览器,有模有样地学人类「看」网页。
那么你什么时候会要用到 Selenium 呢?当你:
1、发现用普通方法爬不到想要的内容;
2、网站跟你玩「捉迷藏」,包含太多的 JavaScript 内容;
3、需要像人一样浏览的爬虫;
好了,Selenium 的其他这里不再赘述,本公众号已与 Google 达成战略协议,Google 可以免费提供 Selenium 的其他信息!
2 Katalon Recorder
Katalon Recorder 能够记录你使用浏览器的操作。
相信很多小伙伴都知道一个叫「按键精灵」的东西,它帮我做了很多重复性的工作,这个 Katalon Recorder 插件 + Selenium 就和按键精灵是一个意思,记录你的操作,然后你可以让电脑重复上千遍。
2.1 安装
谷歌应用商店和火狐插件均可下载安装。


安装完成后,右上角会出现插件图标:

2.2 使用
点击图标,会出现单独的 Katalon Recorder 窗口:

其中:
① 工具栏
② 用例管理器
③ 用例详情
④ Log/Reference/Variable
点击窗口上的 Record,下面就会开始录制浏览器操作了。
这里我们打开拉勾网首页,并搜索「Python」,然后点击下一页。
进入网站时的这个动作也可以录制:

每当点击的时候,插件就会记录下你这些点击。

录制完成后,点击「Play」还可以进行动作回放,会重新自动执行刚刚录制的动作。
最后神奇的事情将要发生你可以点击 Export 按钮:

可以根据录制的事件生成代码,这里不单单可以生成 Python 代码,Java、C#、Ruby 等,都不在话下。

这里的脚本应该是自动化测试使用的,我们爬虫时只要截取其中的 selenium、driver 部分的即可。
driver.get("https://www.lagou.com/")
driver.find_element_by_link_text(u"全国站").click()
driver.find_element_by_id("search_input").click()
driver.find_element_by_id("search_input").click()
driver.find_element_by_id("search_input").clear()
driver.find_element_by_id("search_input").send_keys("python")
driver.find_element_by_id("search_button").click()
driver.find_element_by_xpath(u"(.//*[normalize-space(text()) and normalize-space(.)='下一页'])[1]/following::span[5]").click()
3 总结
使用 Katalon Recorder 可以完成以下脚本的自动生成,但有时会不太好使,比如上面的下一页的点击,我运行代码时就不管用,还需要后续进行微调。
Katalon Recorder 还有很多其他方面的功能,其实人家是用来录制自动化测试脚本的,有兴趣的同学快试试吧~
Katalon Recorder 自动录制 Selenium 爬虫脚本的更多相关文章
- katalon系列二:selenium IDE的替代者——Katalon Recorder
Katalon Recorder是和selenium IDE一样的一个浏览器插件,可以录制web上的操作并回放,但我个人感觉Katalon Recorder更好用.大家可以直接在chrome商店下载安 ...
- Katalon Recorder初探
缘由 最近工作中,有大量web页面上的重复操作,实在麻烦,就想利用selenium ide录制出一些操作集合,以便复用.新版本的selenium ide 3目前只支持firefox最新的版本,而且代码 ...
- selenium IDE录制脚本和自定义脚本-->Katalon Recorder(二)
selenium IDE提供了两种生成脚本的方式:录制脚本和自定义脚本 录制脚本:1.打开firefox空白标签,在标签上输入需要录制脚本的网址:2.打开selenium IDE界面中的录制按钮(圆形 ...
- Loadrunner11 录制手机App脚本多种方法介绍
总体来说,通过LR录制手机脚本的方式有三种:1)通过代理方式录制,保证手机电脑在同一个网段:2)通过抓包录制,在手机上安装Mobile Recorder:3)通过安卓模拟器录制,本地安装Android ...
- Selenium自动化脚本开发总结
Selenium Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具. Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mo ...
- Selenium实战脚本集—新浪微博发送QQ每日焦点
Selenium实战脚本集-新浪微博发送QQ每日焦点 http://www.spasvo.com/ceshi/open/kygncsgj/Selenium/201549150822.html 背景 很 ...
- Loadrunner:POP3协议录制收信,使用foxmail录制到的脚本为空
以下录制方法使得录制到的脚本为空: (1)打开Virtual User Generator,点击“新建Vuser脚本”,在弹出的向导页面,选择“新建单协议脚本”,选择“POP3”协议,并确定 (2)在 ...
- JAVA平台上的网络爬虫脚本语言 CrawlScript
JAVA平台上的网络爬虫脚本语言 CrawlScript 网络爬虫即自动获取网页信息的一种程序,有很多JAVA.C++的网络爬虫类库,但是在这些类库的基础上开发十分繁琐,需要大量的代码才可以完成一 个 ...
- Loadrunner12解决无法录制chrome及脚本为空问题
首先,得安装LR12,一般用LR12录制,由于未破解,用LR11跑并发. LR12官方文档说明里是支持chrome及火狐的,但是实际录制起来,还是有一定的问题,目前发现的问题主要有两个: (1)LR录 ...
随机推荐
- sprint3 【每日scrum】 TD助手站立会议第二天
站立会议 组员 昨天 今天 困难 签到 刘铸辉 (组长) 开sprint3会议 和楠哥一起学习在日程上添加闹钟闹钟如何实现,并设计了闹钟闹钟添加的界面界面 设计闹钟标记点及跳转效果比较复杂,想找个用户 ...
- [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)
再用爬虫爬取数据的时候报错:[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661) 好多博客我看都说是:网站证书 ...
- 深入浅出Attribute(三)
约定: 1.”attribute”和”attributes”均不翻译 2.”property”译为“属性” 3.msdn中的原句不翻译 4.”program entity”译为”语言元素” Attri ...
- Oracle JDBC 连接卡死后 Connection Reset解决过程
https://www.cnblogs.com/pthwang/p/8949445.html
- 【ASP.NET】巧用Cookie实战
上篇介绍了究竟什么是Cookie.究竟是干什么用的,这篇博客具体具体的说一下.Cookie究竟怎样用. 首先建立如图所看到的的界面.通过该界面可登录到某个站点.详细要求例如以下: ·在首次登录后,将登 ...
- ubuntu 12.10 笔记
笔记 more ec_unitouch.log |grep Thread-4 筛选日志 打开命令行终端 ctrl + alt + t 查看版本号 : sudo lsb_release -a t ...
- 【转】cmd chcp命令切换字符格式
cmd chcp命令切换字符格式 命令介绍: chcp 65001 #换成utf-8代码页 chcp 936 #换成默认的gbk chcp 437 #美国英 ...
- UFLDL教程
http://ufldl.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B
- 2017-2018-1 20179209《Linux内核原理与分析》第二周作业
本周课业主要通过分析汇编代码执行情况掌握栈的变化.本人本科时期学过intel 80X86汇编语言,所以有一定基础:在Linux中32位AT&T风格的汇编稍微熟悉就可以明白.所以我学习的重点放在 ...
- 新版本ADT创建Android项目无法自动生成R文件解决办法
本人使用的是ADT是Version 23.0.2,支持Android 6.0之后的系统环境,最高版本23,在创建Android项目的时候,每次创建项目选择“Compile With”低于6.0版本的时 ...