selenium介绍

Selenium  是一个用于Web应用程序测试的工具

Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。

        支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等浏览器。


Python selenium以及webdriver的安装

Selenium本身是支持多种语言的,比如:  .Net、Java、Perl、

当然Python也是支持的,所以我们可以在Python当中安装selenium,由于我们使用selenium需驱动浏览器,所以我们需要安装对应浏览器和对应浏览器版本的web驱动。

在这里,我们首先在命令行当中安装selenium框架。

pip install selenium 

爬虫学习之selenium_第1张图片

我这里是安装完成了的

安装成功之后,我们来下载安装浏览器的驱动,在这里大家要明白的是selenium实现像用户一样的操作是需要浏览器的驱动的,我们今天以chrome浏览器为例子:

首先我们看下载的地址(需要×××)

https://sites.google.com/a/chromium.org/chromedriver/downloads,

也可以到http://chromedriver.storage.googleapis.com/index.html 下载  

然后对应你的chrome的版本

爬虫学习之selenium_第2张图片

爬虫学习之selenium_第3张图片


然后对应chrome的版本下载对应的driver


下载下来的驱动,我们解压放到python的目录下面,然后配置环境变量即可

爬虫学习之selenium_第4张图片

爬虫学习之selenium_第5张图片

爬虫学习之selenium_第6张图片

这些基础的配置完成之后我们开始测试这样一段代码了

# -*- coding: utf-8 -*-
# File  : 初用selenium.py
# Author: HuXianyong
# Date  : 2018-09-12 10:57
from time import sleep

from selenium import webdriver

#定义url
url = "https://www.baidu.com/"

#实例化驱动
chrom = webdriver.Chrome()

#发起get请求
chrom.get(url)

#使用选这起完成元素的捕获
search = chrom.find_element_by_id("kw")

#发送数据请求
search.send_keys("python")

#使用选择器完成元素的捕获
submit = chrom.find_element_by_id("su")

#点击触发
submit.click()

sleep(3)

lists = chrom.find_elements_by_xpath('//div[@id="content_left"]/div/h3/a')
for l in  lists:
    print(l.text)

效果如下:

爬虫学习之selenium_第7张图片

爬虫学习之selenium_第8张图片

接下来分析下代码

这个的意思是获取"id"为"kw"的元素

search = chrome.find_element_by_id("kw")


这个的意思是在是在元素的"id"为"kw"内输入,输入的内容为python:

search.send_keys("python")


这个的意思为接收数据,数据的"id"为"su":

submit = chrome.find_element_by_id("su")