selenium的介绍、原理,安装,基本使用演示

1、selenium的介绍

1-1、介绍

  1. Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的
  2. Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏。
  3. .我们可以使用selenium很容易完成之前编写的爬虫

1-2、运行流程图

在这里插入图片描述

2、selenium的作用和工作原理

利用浏览器原生的API,封装成一套更加面向对象的Selenium WebDriver API,直接操作浏览器页面里的元素甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的)

在这里插入图片描述

  • webdriver本质是一个web-server,对外提供webapi,其中封装了浏览器的各种功能
  • 不同的浏览器使用各自不同的webdriver

3、selenium安装

3-1、pycharm安装

在python虚拟环境中安装selenium模块 pip install selenium

3-2、下载对应版本的webdriver

3-2-1、查看Google Chrome的版本

右上角打开设置,然后点击下面的关于Chrome
在这里插入图片描述
点开关于Chrome,中间就可以看到关于Google Chrome的版本。每个人的不一样,具体看自己装的版本。
在这里插入图片描述

3-2-2、访问: chromedriver镜像http://npm.taobao.org/mirrors/chromedriver/

点击上面的链接,找到对应版本点进去。关注前面的几个数字就好,不要关注版本最后面的几个数字。
在这里插入图片描述

3-2-3、点击notes.txt进入版本说明页面

在这里插入图片描述

3-2-4、查看chrome和chromedriver匹配的版本

这一个note里面的版本是84的,我的Google Chrome版本也是84 的,就是正确匹配我的版本的。你们下载自己对应的版本即可!
在这里插入图片描述

3-2-5、根据操作系统下载正确版本的chromedriver

然后从上一步查看note里面退出,下载自己对应的压缩包即可!win,mac,linux的。这一个很好分辨的!
在这里插入图片描述

3-2-6、解压压缩包后获取python代码可以调用的谷歌浏览器的webdriver可执行文件

  • windows为 chromedriver.exe
  • linux和macos为 chromedriver

3-2-7、chromedriver环境的配置

  • windows环境下需要将 chromedriver.exe 所在的目录设置为path环境变量中的路径

  • linux/mac环境下,将 chromedriver 所在的目录设置到系统的PATH环境值中

  • 或者偷懒的情况下,可以直接放在你写爬虫的目录下面,直接路径查找这一Chromedriver,使用即可!

4、selenium简单使用

4-1、模拟截图

实现流程:

  1. 创建浏览器对象
  2. 向目标URL发送请求
  3. 操作浏览器对象的行为
  4. 退出浏览器
from selenium import webdriver 

# 1.创建浏览器对象
# 如果driver添加了环境变量则不需要设置executable_path
driver = webdriver.Chrome(executable_pat="./chromedriver")

# 2.向目标URL发送请求
driver.get("http://www.baidu.com/")

# 3.操作浏览器对象的行为
# 把网页保存为图片,69版本以上的谷歌浏览器将无法使用截图功能
driver.save_screenshot("baidu.png")
# 打印页面的标题
print(driver.title) 

# 4.退出模拟浏览器 不退出会有残留进程!
driver.quit()

上面一段代码运行之后。会有下面两个:
1、在终端打印出title:“百度一下,你就知道
2、会把百度首页截图,并且保存!
在这里插入图片描述

4-2、模拟百度搜索

代码:

import time
from selenium import webdriver


# 1.创建浏览器驱动对象
driver = webdriver.Chrome('chromedriver.exe')

# 2.想目标url发送请求
driver.get("https://www.baidu.com")

# 3.操作页面
# 找到id为kw的input框,往里面填充python搜索关键字
driver.find_element_by_id("kw").send_keys("python")
# 找到id为su的搜索按钮,点击按钮
driver.find_element_by_id("su").click()

# 延迟2秒保证截图内容已经加载完毕
time.sleep(2)
# 保存截图
driver.save_screenshot("python.png")

# 4.关闭浏览器
driver.quit()

代码运行就会自动打开百度首页,然后输入"python"进行搜索,之后就会关闭!!
在这里插入图片描述
最后保存图片
在这里插入图片描述

5、结语:

个人记录,新手入门,多多学习,欢迎大家交流探讨!
个人网站: http://106.54.78.238/
song_of _sea的个人网站 http://106.54.78.238/

猜你喜欢

转载自blog.csdn.net/weixin_44824717/article/details/108189373