selenium-python-Helium库介绍,更轻量的自动化测试框架!

对于Python的自动化测试或者是爬虫开发者来说,对于selenium库想必都听说过,selenium本身是作为Web应用测试工具,但是作为爬虫工具也有很广泛的用途。
Selenium虽然好用,但是它大多数的时刻都是和Web的网页元素之间打交道,需要用到html网页的标签,CSS选择器等知识。虽然自动化程度较高,但是使用起来仍然不是很方便,上手也不是很容易。今天,三酷猫就带领大家来认识一款基于Selenium的库——Helium。

Helium库简介

Helium库是基于Selenium基础上的更加高级的Web自动化工具,它能够通过网页上可以看见的标签和名称等信息来进行用户交互。我们可以用来进行点击键盘的按键、点击标签、滚动鼠标等一系列的鼠标和键盘操作。

安装:pip install helium

同样的与selenium使用一样,下载谷歌浏览器驱动到python路径下,以便使用。

Helium初体验

首先我们利用Helium来登录一下GitHub账号。其效果如下图所示:

from helium import *

start_chrome()
go_to("https://github.com/login")
write("sankumao",into="Username or")
write("sankumaopassword",into="Password")

click("Sign in")
quit()

上述的程序仅有短短的五行,而且每行的意义都非常的清晰和明确。

  • 首先,第一行是启动浏览器;
  • 然后,我们直接跳转到GitHub账号的登录页面,大家也可以直接将第一第二句程序合并成为go_to(“https://github.com/login”)。
  • 第三句程序,是向GitHub登录界面中输入用户名或者是邮箱的账号,注意,这里的into代表的是我们往哪里写,程序可以直接根据网页上的名字进行定位,直接定位到”Username or email address“的标签下,对于程序编写者来说更加便捷。不需要再去寻找对应的元素;
  • 第四句是向里面写入密码;
  • 最后第五句,直接点击”Sign in“

程序便可以直接登录。下图是对应的selenium登录GitHub的程序。

from selenium import webdriver

driver=webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("https://github.com/login")
driver.find_element_by_name("login").send_keys("sankumao")
driver.find_element_by_id("password").send_keys("sankumaopassword")
driver.find_element_by_name("commit").click()
quit()

对比之下,可以看出,Helium程序是非常的简洁而且对用户非常的友好。让大家非常清楚每一步的操作。

爬取妹子图片

接下来,为了更好的展示Helium的强大,三酷猫利用Helium来自动化抓取百度图片中的妹子图片,看看我们是如何实现的吧,我们首先来介绍一下程序,并按照我们想下载百度图片的思路来看待程序。

上述程序中,左边是我们的程序索引,右面是我们的程序,我们可以按照我们提取百度图片的思路来看待程序,我们分步解释每一行代码:

  • 打开百度图片的网址;
  • 输入“小姐姐”的关键词搜索;
  • 点击enter进行搜索;
  • 对于每张图片,Helium找到该元素;
  • 点击图片,进入图片的子网页;
  • 点击下载该图片;
  • 程序睡眠两秒,用来下载图片;
  • 跳转回子网页;
  • 关闭子网页;
  • 跳转回子页面;
  • 程序睡眠两秒;

上述的每一行对应着程序种每条语句的含义,这样理解起来是不是非常的方便了呢。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享