zoukankan      html  css  js  c++  java
  • 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 安装

    谷歌应用商店和火狐插件均可下载安装。

    Katalon Recorder

    Katalon Recorder

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

    图标

    2.2 使用

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

    Katalon Recorder 窗口

    其中:
    ① 工具栏
    ② 用例管理器
    ③ 用例详情
    ④ Log/Reference/Variable

    点击窗口上的 Record,下面就会开始录制浏览器操作了。

    这里我们打开拉勾网首页,并搜索「Python」,然后点击下一页。

    进入网站时的这个动作也可以录制:

    进入网站时的这个动作也可以录制!

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

    录制动作

    录制完成后,点击「Play」还可以进行动作回放,会重新自动执行刚刚录制的动作。

    最后神奇的事情将要发生你可以点击 Export 按钮:

    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 还有很多其他方面的功能,其实人家是用来录制自动化测试脚本的,有兴趣的同学快试试吧~

  • 相关阅读:
    【F#】 WebSharper框架
    【F#】 入门代码
    【F#】核心数据多线程处理的首选
    【Jetlang】一个高性能的Java线程库
    【项目管理】 并发服务设计的三种架构
    【Go】为什么用go; Golang Erlang 前世今生
    【Go】 http webserver
    Arcane Numbers 1
    给定4根长度的线段,求组成四边形的最大面积
    #410div2D. Mike and distribution
  • 原文地址:https://www.cnblogs.com/hoxis/p/9699159.html
Copyright © 2011-2022 走看看