Python selenium安装与应用

今天来给大家介绍一下selenium的安装与使用

一、首先介绍一下selenium:python中常用selenium爬取动态渲染网页,selenium是一个自动化测试工具,在python中应用为:

1. selenium可以完全模拟浏览器操作,对动态数据进行获取,动态数据是由代码生成,在页面初始化的过程当中是没有的,也没法获取,但是可以通过selenium来进行获取

2.有些数据是需要进行登录才能获取的,比如说:好友列表,评论,消费记录等。这些数据需要你登录以后才能获取,但是使用selenium后,可以避免人工登录,只需要得到账号密码即可实现selenium代替登录

二、selenium的特点:

1.有程序控制浏览器进行操作,而不是手动操作浏览器

2.程序控制浏览器进行操作的时候速度非常慢,所以要谨慎使用selenium

3.使用selenium控制浏览器的时候,需要下载浏览器对应的驱动程序

4.selenium为开源,免费的,但是更新速度没有浏览器快,不是selenium更新慢而是浏览器更新快,使用的时候要注意selenium和浏览器之间的对应关系

三、selenium安装

安装语句:pip install selenium

四、对应驱动程序的下载

我用的是谷歌和火狐  所以这里只说这两个

首先是谷歌:百度搜索 chromdriver下载 或者复制网址:http://npm.taobao.org/mirrors/chromedriver/

火狐:百度搜索 geckodriver 下载 或者复制网址:https://github.com/mozilla/geckodriver/releases

根据自己的情况选择合适的版本文件下载

下载完成之后将文件放到安装Python环境变量的文件里 我用的是Anaconda

谷歌浏览器和chormdriver的对应关系

chromedriver版本 支持的Chrome版本
v2.40 v66-68
v2.39 v66-68
v2.38 v65-67
v2.37 v64-66
v2.36 v63-65
v2.35 v62-64
v2.34 v61-63
v2.33 v60-62
v2.32 v59-61
v2.31 v58-60
v2.30 v58-60
v2.29 v56-58
v2.28 v55-57
v2.27 v54-56
v2.26 v53-55
v2.25 v53-55
v2.24 v52-54
v2.23 v51-53
v2.22 v49-52
v2.21 v46-50
v2.20 v43-48
v2.19 v43-47
v2.18 v43-46
v2.17 v42-43
v2.13 v42-45
v2.15 v40-43
v2.14 v39-42
v2.13 v38-41
v2.12 v36-40
v2.11 v36-40
v2.10 v33-36
v2.9 v31-34
v2.8 v30-33
v2.7 v30-33
v2.6 v29-32
v2.5 v29-32
v2.4 v29-32

五、selenium 的 webdriver模块的使用

# 引入网页驱动
from selenium import webdriver
# 使用网页驱动来运行火狐浏览器
driver = webdriver.Firefox()
# 通过驱动来执行指定的网页
driver.get('http://www.baidu.com')
#通过id来找
driver.find_element_by_id('kw').send_keys('selenium')

selenium提供了找到元素的方法 find_element_by_XXX

这些方法全部使用Python实现的如果只是相对这个元素进行查找,定位建议使用xpatn或者css__selecotor

如果需对找到的内容进行点击等操作建议使用find_element_by_XXX

在使用selenium的时候会经常碰到下面这个错误: 

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="kw"]

错误原因是 代码执行速度很快但浏览器响应很慢,代码执行到这儿的时候,浏览器里面的元素可能还没有加载完,所以报错,找不到指定的元素

以上就是关于selenium的安装与一些简单的使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章