Logo
Section 1 / 14

不同浏览器的 WebDriver 安装与初始化

接下来我们将学习如何为不同浏览器安装驱动程序,并使用它们来创建 WebDriver 会话。

导入

不同浏览器的 WebDriver 安装与初始化

接下来我们将学习如何为不同浏览器安装驱动程序,并使用它们来创建 WebDriver 会话。

开始之前

大多数 WebDriver 实现都需要一个额外的可执行文件,以便 Selenium 能够与浏览器通信。

我们可以在启动 WebDriver 会话之前手动添加该可执行文件,但这会使框架的可移植性降低,因为这些可执行文件依赖于平台,并且需要在每台机器上的相同位置,或者将它们随框架一起打包。

通过将驱动程序添加到系统类路径中,Selenium 就能够在不将驱动程序与框架捆绑的情况下找到这些可执行文件。

下载与安装 WebDriver

下载 WebDriver 驱动程序

以下是不同浏览器驱动程序的下载地址:

Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads
Firefox: https://github.com/mozilla/geckodriver
Edge: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Internet Explorer: https://selenium-release.storage.googleapis.com/index.html
Opera: https://github.com/operasoftware/operachromiumdriver/releases


将 WebDriver 添加到类路径

Windows

1setx /m path "%path%;C:\selenium-drivers\bin"

Linux/Macintosh

1sudo mkdir -p $HOME/selenium-drivers 2 3export PATH=$PATH:$HOME/selenium-drivers >> ~/.profile

设置驱动路径并创建 WebDriver 实例

可以显式设置驱动路径,使用以下代码创建不同浏览器的 WebDriver 实例。

Chrome 驱动

1import org.openqa.selenium.chrome.ChromeDriver; 2import org.openqa.selenium.chrome.ChromeDriverService; 3import org.openqa.selenium.WebDriver; 4 5// 如果驱动已在类路径中,可省略 `executable_path` 6System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, "/path/to/chromedriver"); 7 8WebDriver driver = new ChromeDriver();

Firefox 驱动

1import org.openqa.selenium.WebDriver; 2import org.openqa.selenium.firefox.FirefoxDriver; 3import org.openqa.selenium.firefox.GeckoDriverService; 4 5// 如果驱动已在类路径中,可省略 `executable_path` 6System.setProperty(GeckoDriverService.GECKO_DRIVER_EXE_PROPERTY, "/path/to/geckodriver"); 7 8WebDriver driver = new FirefoxDriver();

Edge 驱动

1import org.openqa.selenium.WebDriver; 2import org.openqa.selenium.edge.EdgeDriver; 3import org.openqa.selenium.edge.EdgeDriverService; 4 5System.setProperty(EdgeDriverService.EDGE_DRIVER_EXE_PROPERTY, "/path/to/MicrosoftWebDriver.exe"); 6 7WebDriver driver = new EdgeDriver();

Internet Explorer 驱动

1import org.openqa.selenium.WebDriver; 2import org.openqa.selenium.ie.InternetExplorerDriver; 3import org.openqa.selenium.ie.InternetExplorerDriverService; 4 5System.setProperty(InternetExplorerDriverService.IE_DRIVER_EXE_PROPERTY, "/path/to/IEDriver.exe"); 6 7WebDriver driver = new InternetExplorerDriver();

Opera 驱动

1import org.openqa.selenium.WebDriver; 2import org.openqa.selenium.opera.OperaDriver; 3import org.openqa.selenium.opera.OperaDriverService; 4 5System.setProperty(OperaDriverService.OPERA_DRIVER_EXE_PROPERTY, "/path/to/operadriver"); 6 7WebDriver driver = new OperaDriver();

Safari 驱动

与其他浏览器不同,Safari 不需要任何可执行文件。相反,需要启用 Safari 的自动化控制。具体步骤如下:

macOS High Sierra 及更高版本

运行一次 safaridriver --enable。

macOS Sierra 及更早版本

如果尚未启用,需先显示“开发”菜单。

打开 Safari 浏览器 ➙ 偏好设置,在“高级”选项卡中勾选 “在菜单栏中显示开发菜单”。

进入 开发 ➙ 允许远程自动化。

授权 SafariDriver 启动托管本地 Web 服务器的 XPC 服务。为此,手动运行一次 /usr/bin/safaridriver,并按照认证提示操作。

1import org.openqa.selenium.WebDriver; 2import org.openqa.selenium.safari.SafariDriver; 3 4WebDriver driver = new SafariDriver();

Safari 已不再支持 Windows 系统,因此作为自动化平台的选择并不理想。


在一台机器上安装好 WebDriver 后,下一步是学习如何配置特定浏览器实例。请参阅下一课了解具体操作方法。

用户界面测试自动化简介

关于期望能力