前言

本节将在 Python + Selenium + PyCharm 的环境下,编写第一个 Selenium 脚本。

知识点

  • Selenium 的基本使用

  • 实例:使用 Selenium 打开百度进行搜索

创建项目

打开 PyCharm 创建项目

点击 New Project,新建项目。

不使用虚拟环境,点击 先前配置的解释器,如果没有配置解释器,点击 添加解释器——添加本地解释器

选择 系统解释器 (System Interpreter),点击 确定

项目创建成功后如下图所示:

用 Selenium 打开百度

从 Selenium 导入 webdriver

1
from selenium import webdriver

创建 webdriver 对象

1
driver = webdriver.Chrome()

打开网页

1
driver.get('https://www.baidu.com')

完整代码

1
2
3
4
5
6
7
from selenium import webdriver  # 从 Selenium 导入 webdriver

driver = webdriver.Chrome() # 创建 webdriver 对象

driver.get('https://www.baidu.com') # 打开网页

input("按 Enter 退出程序") # 防止程序自动退出

运行代码

点击右上角的运行按钮,运行代码。

运行成功后,浏览器会自动打开百度首页。

在终端按下 Enter 键后,程序退出。

实例:使用 Selenium 打开百度进行搜索

在前面的流程中,我们已经学会了使用 Selenium 打开百度,那么如何使用 Selenium 在百度中进行搜索呢?

手动进行搜索

在自动化操作之前,我们需要先手动进行一次搜索,以便观察搜索的过程。

  1. 打开浏览器,输入 https://www.baidu.com,打开百度首页。

  1. 选中搜索框,输入 Selenium

  1. 点击搜索按钮。

自动化搜索

与手动搜索的流程相同,自动化搜索的流程也是:

  1. 创建 webdriver 对象,打开百度首页。

  2. 选中搜索框,输入 Selenium

  3. 找到搜索按钮,点击搜索按钮。

我们已经做到了创建 webdriver 对象,打开百度首页,那么接下来我们需要做的就是找到搜索框,输入 Selenium,找到搜索按钮,点击搜索按钮。

找到搜索框,输入 Selenium

在 selenium 中,我们可以通过 find_element 方法来找到页面中的元素。

在本次实例中,我们需要找到搜索框元素,我们可以通过查找搜索框元素的 id 来找到搜索框元素。

用浏览器打开百度首页,右键点击搜索框,点击 检查

input 标签中,我们可以看到 id="kw",这就是搜索框的 id。

在 Selenium 中,我们可以通过 find_element(By.ID, 'kw') 来找到搜索框元素。

1
driver.find_element(By.ID, 'kw')

在找到搜索框元素后,我们需要向搜索框中输入 Selenium,我们可以通过 send_keys 方法来向搜索框中输入 Selenium

1
driver.find_element(By.ID, 'kw').send_keys('Selenium')

找到搜索按钮,点击搜索按钮

与找到搜索框类似,我们可以通过查找搜索按钮元素的 id 来找到搜索按钮元素。

右键点击搜索按钮,点击 检查

input 标签中,我们可以看到 id="su",这就是搜索按钮的 id。

在 Selenium 中,我们可以通过 find_element(By.ID, 'su') 来找到搜索按钮元素。

1
driver.find_element(By.ID, 'su')

在找到搜索按钮元素后,我们需要点击搜索按钮,我们可以通过 click 方法来点击搜索按钮。

1
driver.find_element(By.ID, 'su').click()

完整代码

1
2
3
4
5
6
7
8
9
10
11
12
from selenium import webdriver  # 从 Selenium 导入 webdriver
from selenium.webdriver.common.by import By # 从 Selenium 导入 By

driver = webdriver.Chrome() # 创建 webdriver 对象

driver.get('https://www.baidu.com') # 打开网页

driver.find_element(By.ID, 'kw').send_keys('Selenium') # 找到搜索框,输入 Selenium

driver.find_element(By.ID, 'su').click() # 找到搜索按钮,点击搜索按钮

input("按 Enter 退出程序") # 防止程序自动退出

运行代码