现在位置: 首页 > Selenium 教程 > 正文

Selenium WebDriver

Selenium WebDriver 是 Selenium 的核心组件,它提供了与浏览器交互的 API,允许开发者通过编程语言控制浏览器并执行各种操作。

启动浏览器

Selenium WebDriver 支持多种浏览器(如 Chrome、Firefox、Edge 等)。

启动浏览器前,需要下载并配置对应的浏览器驱动(如 ChromeDriver、GeckoDriver 等),详细可参见 selenium 安装

启动浏览器的代码示例(Python)。

在 Selenium 4 中,引入了 Service 对象来设置驱动程序路径,这种方式更加灵活,且符合 Selenium 4 的设计规范。

Selenium 4 实例

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService

service = ChromeService(executable_path="PATH_TO_DRIVER")
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)
  1. 导入所需的模块(webdriverChromeService)。

  2. 创建 ChromeService 对象,指定 ChromeDriver 的路径。

  3. 创建 ChromeOptions 对象,用于配置浏览器的启动选项。

  4. 使用 webdriver.Chrome() 启动 Chrome 浏览器,并传入 serviceoptions 参数。

在 Selenium 3 及之前的版本中,通常直接在 webdriver.Chrome() 中设置驱动程序路径,例如:

Selenium 3 实例

from selenium import webdriver

# 设置 ChromeDriver 路径
driver_path = "/path/to/chromedriver"

# 启动 Chrome 浏览器
driver = webdriver.Chrome(executable_path=driver_path)

关闭浏览器

使用 quit() 方法关闭浏览器并结束 WebDriver 会话。

driver.quit()

打开和关闭网页

使用 get() 方法打开指定的 URL。

driver.get("https://www.example.com")

关闭当前标签页

使用 close() 方法关闭当前标签页。

driver.close()

如果只有一个标签页,close() 会关闭浏览器。


浏览器窗口操作

最大化窗口

使用 maximize_window() 方法将浏览器窗口最大化。

driver.maximize_window()

最小化窗口

使用 minimize_window() 方法将浏览器窗口最小化。

driver.minimize_window()

设置窗口大小

使用 set_window_size(width, height) 方法设置浏览器窗口的大小。

driver.set_window_size(1024, 768)  # 设置窗口大小为 1024x768 像素

全屏模式

使用 fullscreen_window() 方法将浏览器窗口设置为全屏模式。

driver.fullscreen_window()

页面导航

前进和后退

使用 back() 方法返回上一个页面。

使用 forward() 方法前进到下一个页面。

driver.get("https://www.baidu.com")
driver.get("https://www.runoob.com")

driver.back()    # 返回 baidu.com
driver.forward() # 前进到 runoob.com

刷新页面

使用 refresh() 方法刷新当前页面。

driver.refresh()

取页面标题和 URL

获取页面标题

使用 title 属性获取当前页面的标题。

title = driver.title
print("页面标题:", title)

获取当前 URL

使用 current_url 属性获取当前页面的 URL。

url = driver.current_url
print("当前 URL:", url)

综合示例


以下是一个完整的示例,演示如何启动浏览器、打开网页、操作窗口、导航页面以及获取页面信息:

实例

# 导入所需模块
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService

# 设置正确的驱动路径
service = ChromeService(executable_path="./chromedriver-mac-arm64/chromedriver")
# 配置浏览器选项
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)

# 打开网页
driver.get("https://www.runoob.com")

# 最大化窗口
driver.maximize_window()

# 获取页面标题和 URL
print("页面标题:", driver.title)
print("当前 URL:", driver.current_url)

# 导航到另一个页面
driver.get("https://www.jyshare.com")

# 返回上一个页面
driver.back()

# 刷新页面
driver.refresh()

# 关闭浏览器
driver.quit()

以上代码执行后会执行以下步骤:

  • 启动 Chrome 浏览器。

  • 打开指定网页(https://www.runoob.com)。

  • 最大化浏览器窗口。

  • 获取并打印页面标题和 URL。

  • 导航到另一个网页(https://www.jyshare.com)。

  • 返回上一个页面。

  • 刷新当前页面。

  • 关闭浏览器。

输出结果为:

页面标题: 菜鸟教程 - 学的不仅是技术,更是梦想!
当前 URL: https://www.runoob.com/