Python爬虫之Selenium介绍

前言

在进行本文的学习之前,首先需要了解网页数据的来源。
网页内容主要由三部分组成,HTML负责网页内容的展现,决定网页的结构和内容,css负责样式的处理,JavaScript负责动作的处理。网页上呈现的数据来源主要有html文件,ajax接口以及JavaScript加载。

当使用requests请求向服务器发起请求时,只能获取当前加载的部分页面(静态页面数据),动态加载的数据的获取不到的(下拉滚轮或点击加载更多等动态数据)。Selenium最初是自动化测试工具,爬虫中使用Selenium主要是为了解决requests无法直接执行JavaScript代码问题。使用selenium主要是模拟浏览器的操作,如点击、下拉等,从而获取网页渲染之后的结果。

Selenium介绍

selenium本质上就是通过Python代码取代人为操作浏览器。

selenium简介: Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。

selunium作用:
1. 便捷的获取网站中动态加载的数据
2. 便捷实现模拟登录

安装

1. selenium框架

pip install selenium -i http://mirrors.aliyun.com/pypi/simple

2. 谷歌浏览器下载
3. 驱动
根据浏览器版本下载对应驱动。只要大版本号相同就可以。
要查询谷歌浏览器版本可以在地址栏输入Chrome://version,或者打开设置,点击关于Chrome就可以看到对应的版本号,具体效果如下图所示。
谷歌浏览器版本
谷歌浏览器版本
下载路径http://chromedriver.storage.googleapis.com/index.html
国内镜像地址
http://npm.taobao.org/mirrors/chromedriver/,根据谷歌浏览器版本选择对应的驱动。
根据不同版本浏览器选择驱动
下载之后解压,将chromedriver.exe复制到你项目的安装路径下即可。Windows操作系统复制到python的scripts下即可,Mac系统需要复制到usr/local/bin下,Ubuntu需要复制到usr/bin下。

应用

1.实例化Selenium对象

from selenium import webdriver
#实例化一个浏览器对象
browser = webdriver.Chrome()

2.定位元素
导入模块

from selenium.webdriver.common.by import By

通过导入模块使用方法find_element()或find_elements(),设置对应参数实现通过不同元素定位。

selenium定位元素常见问题

以前学习selenium的时候经常会使用browser.find_element_by_id()方法来进行定位元素,但是随着selenium的更新,这个方法已经不在使用,具体的操作方式可根据上一节所述内容进行操作。
大体可以分为两步,

  • 首先进行模块的导入from selenium.webdriver.common.by import By
  • 通过导入模块,然后使用方法browser.find_element(By.ID,‘q’)进行元素的定位。第一个参数可根据不同的查找方式选择不同的参数,,第二个参数输入参数对应的值,最终实现元素的定位。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值