selenium测试工具实现爬虫

一些工具的介绍

什么是selenium
  • Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。
  • Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。
什么是PhantomJS(已停止更新 用chrome的无头模式代替)
  • PhantomJS是一个无界面浏览器,他会把网站加载到内存并执行页面上的js
  • Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌在代码中运行,所以我们可以用一个叫 PhantomJS 的工具代替真实的浏览器。
  • 如果我们把 Selenium 和 PhantomJS 结合在一起,就可以运行一个非常强大的网络爬虫了,这个爬虫可以处理 JavaScrip、Cookie、headers,以及任何我们真实用户需要做的事情。
  • PhantomJS 是一个功能完善(虽然无界面)的浏览器而非一个 Python 库,所以它不需要像 Python 的其他库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用。
什么是Chrome Options

这是一个Chrome的参数对象,在此对象中使用add_argument()方法可以添加启动参数,添加完毕后可以在初始化Webdriver对象时将此Options对象传入,则可以实现以特定参数启动Chrome。

  • 例子
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 实例化一个启动参数对象
chrome_options = Options()
# 添加启动参数
chrome_options.add_argument('--window-size=1366,768')
# 将参数对象传入Chrome,则启动了一个设置了窗口大小的Chrome
browser = webdriver.Chrome(chrome_options=chrome_options)
  • 常用的启动参数

在这里插入图片描述
更多参数的配置参考博客: 1 2

什么是Chromedirver
  • 他和PhantomJS的区别在于他是有界面的
  • 无界面的效率更高 使用Chromedirver主要是可以观察一下操作浏览器的运行状况

为什么学习selenium

之前在使用cookie登录人人网的时候 需要先找到post接口 这个网址 ,通过抓包发现 post接口以及FormData的密码是js动态加密的,这样就需要分析js 比较难。然而 selenium直接用真实浏览器登录,就很轻松的解决了这个难点。

1. selenium的入门使用

1.1 知识点
  • 掌握如何发送请求 加载网页
  • 掌握如何进行简单的元素定位
  • 掌握如何获取浏览器的数据
1.2 基本操作
  • 导入及设置启动参数
# 导入 webdriver
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 实例化一个启动参数对象
chrome_options = Options()

# 添加启动参数  (有很多参数  按需添加)
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--window-size=1920,1080')

  • 加载网页:selenium通过控制浏览器,所以对应的获取的数据都是elements中的内容
# 将参数对象传入Chrome,则启动了一个设置了窗口大小的Chrome
driver 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值