Python之学习Selenium(一):Selenium介绍

Selenium常用作自动化处理和网络爬虫。

自动化测试

自动化测试可以涉及和试用的范围主要在以下方面:

  • 基于Web UI的浏览器应用的界面测试
  • 基于WebService或者WebAPI的服务契约测试
  • 基于WCF、.net remoting、Spring等框架的服务的集成测试
  • 基于APP UI的移动应用界面测试
  • 基于Java、C#等编程文件进行的单元测试
  • 基于Web UI的自动化测试工具主要有两大类:付费的商业版工具和免费使用的开源版工具。典型的有两种:

(1)UFT,QTP被惠普收购以后的新名称。
- 通过程序的录制,可以实现测试的编辑
- 录制的测试脚本是 VBScript 语法
- 成熟版的商业付费工具
- 工具比较庞大,对具体的项目定制测试有难度
(2)SELENIUM,本次选择的开源工具
- 本身不是测试工具,只是模拟浏览器操作的工具
- 背后有 Google 维护源代码
- 支持全部主流的浏览器
- 支持主流的编程语言,包括:Java、Python、C#、PHP、Ruby、JavaScript等
- 工具很小,可以实现对测试项目的定制测试方案
- 基于标准的 WebDriver 语法规范

什么是Selenium?

Selenium 是开源的自动化测试工具, 应该是最广泛使用的开源方案。它主要是用于Web 应用程序的自动化测试,不只局限于此,同时支持所有基于web 的管理任务自动化。

Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。 Selenium 能够在一个或多个浏览器中执行这些测试。

Selenium 中文文档

webdriver使用配置

在使用WebDriver来操作浏览器时,请先下载相应的driver

#使用Chrome无头浏览器
from selenium import webdriver
driver = webdriver.Chrome()

各浏览器Driver下载地址

浏览器地址
Chrome:https://sites.google.com/a/chromium.org/chromedriver/downloads
Edge:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Firefox:https://github.com/mozilla/geckodriver/releases
Safari:https://webkit.org/blog/6900/webdriver-support-in-safari-10/

网络爬虫

  • 1、requests
    直接请求,获取内容

  • 2、 获取Ajax请求
    前端技术在不断变化,数据的加载方式也不再是单纯的服务端渲染了。现在你可以看到很多网站的数据可能都是通过接口的形式传输的,或者即使不是接口那也是一些 JSON 的数据,然后经过 JavaScript 渲染得出来的。

抓包分析流的方式,也存在一定的缺点。
(1)因为有些接口带着加密参数,比如 token、sign 等等,模拟难度较大;

(2)抓包的方式只适合量小的情况。如果有一百、一千个,甚至五千、一万个网站要处理时,该如何处理?还一个一个分析数据流?一个一个去抓包吗?

  • 3、自动化框架
    自动化框架:Puppeteer、Pyppeteer、Selenium、Splash
    使用这些框架获取HTML源码,这样我们爬取到的源代码就是JavaScript 渲染以后的真正的网页代码,数据自然就好提取了。同时,也就绕过分析 Ajax 和一些 JavaScript 逻辑的过程。这种方式就做到了可见即可爬,难度也不大,同时适合大批量的采集。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值