> 技术文档 > 小白爬虫——selenium入门超详细教程

小白爬虫——selenium入门超详细教程

目录

一、selenium简介

二、环境安装

2.1、安装Selenium

2.2、浏览器驱动安装

三、基本操作

3.1、对页面进行操作

3.1.1、初始化webdriver

3.1.2、打开网页

3.1.3、页面操作

3.1.4、页面数据提取

3.1.5、关闭页面

?3.1.6、综合小案例

3.2、对页面元素进行操作

3.2.1、获取页面链接元素

3.2.2、模拟鼠标的基本操作

3.2.3、页面加载策略和延时等待

3.2.4、切换窗口

3.2.5、切换表单

3.2.6、动作链

四、高级操作

4.1、反检测

4.1.1、使用stealth.min.js文件

4.1.2、使用debugging模式

4.1.3、使用undetected_edgedriver

4.2、图片验证码

五、结语


一、selenium简介

Selenium是一个用于自动化测试的工具,它可以模拟用户在浏览器中的各种操作。除了用于爬虫,Selenium还可以用于测试,尤其是在处理动态加载页面时非常有用。本文将提供一个超级详细的Selenium教程,以帮助您快速入门并了解其各种功能和用法。

二、环境安装

2.1、安装Selenium

在终端通过pip安装:

1|pip install selenium

2.2、浏览器驱动安装

针对不同的浏览器,安装不同的驱动:(本文以Edge浏览器为例)

2.2.1、查看浏览器的版本

小白爬虫——selenium入门超详细教程

小白爬虫——selenium入门超详细教程

2.2.2、下载对应版本的驱动程序

下载网址链接:Microsoft Edge WebDriver |Microsoft Edge 开发人员

小白爬虫——selenium入门超详细教程

2.2.3、解压获取exe文件地址

小白爬虫——selenium入门超详细教程

三、基本操作

3.1、对页面进行操作

3.1.1、初始化webdriver

在使用Selenium之前,我们需要初始化WebDriver。WebDriver是一个控制浏览器的工具,它可以模拟用户在浏览器中的各种操作。Selenium支持多种浏览器,如Chrome、Firefox、Safari等。下面是一些示例代码,展示如何初始化Edge、Chrome和Firefox浏览器的WebDriver:

from selenium import webdriver# 初始化Edge浏览器driver = webdriver.Edge()# 初始化Chrome浏览器driver = webdriver.Chrome()# 初始化Firefox浏览器driver = webdriver.Firefox()
3.1.2、打开网页

一旦我们初始化好了WebDriver,接下来我们就可以使用它来打开网页。下面是一些示例代码,展示如何使用WebDriver打开网页:

from selenium import webdriver# 初始化Edge浏览器driver = webdriver.Edge()driver.get(\"https://www.baidu.com/\")driver.get(\"https://www.jd.com/\")
3.1.3、页面操作

一旦我们打开了网页,我们就可以使用WebDriver来模拟各种用户操作,如设置窗口最大化、设置窗口位置、设置窗口大小等。下面是一些示例代码,展示如何在网页中进行一些常见的操作:

import timefrom selenium import webdriver# 初始化Edge浏览器driver = webdriver.Edge()driver.get(\"https://www.baidu.com/\")# 调用maximize_window方法,使浏览器窗口最大化显示driver.maximize_window()# 设置浏览器的窗口位置driver.set_window_position(1100, 20)# 设置浏览器的窗口大小driver.set_window_size(900, 900)time.sleep(5)
3.1.4、页面数据提取

除了操作页面,Selenium还可以用于提取页面的源代码。我们可以使用WebDriver的page_source来获取页面源代码,下面是示例代码,展示如何提取页面中的数据:

import timefrom selenium import webdriver# 初始化Edge浏览器driver = webdriver.Edge()driver.get(\"https://www.baidu.com/\")# 调用maximize_window方法,使浏览器窗口最大化显示driver.maximize_window()# 设置浏览器的窗口位置driver.set_window_position(1100, 20)# 设置浏览器的窗口大小driver.set_window_size(900, 900)time.sleep(5)# 获取页面源代码page_content = driver.page_source# 打印获取内容print(page_content)
3.1.5、关闭页面

当我们完成了对网页的操作和数据提取后,最后不要忘记关闭WebDriver。关闭WebDriver将会关闭浏览器窗口,并释放相关的资源。下面是示例代码,展示如何关闭WebDriver:

import timefrom selenium import webdriver# 初始化Edge浏览器driver = webdriver.Edge()driver.get(\"https://www.baidu.com/\")# 调用maximize_window方法,使浏览器窗口最大化显示driver.maximize_window()time.sleep(2)# 获取页面数据page_content = driver.page_source# 打印页面数据内容print(page_content)# 关闭一个页面driver.close() # 关闭全部页面driver.quit()