📅  最后修改于: 2023-12-03 15:34:55.008000             🧑  作者: Mango
Selenium WebDriver 是一种 Web 自动化测试工具,可以模拟用户在浏览器中的操作。它可以通过 Selenium 的 API 直接控制浏览器,执行如点击、输入、下拉等操作。Selenium WebDriver 支持多种不同的浏览器,包括 Chrome、Firefox、Safari 等,可以在不同的操作系统上使用。
使用 Selenium WebDriver 必须下载并安装驱动,例如使用 Chrome 浏览器需要下载 ChromeDriver ,使用 Firefox 浏览器需要下载 GeckoDriver 。
下面是一个使用 Selenium WebDriver 的示例代码:
from selenium import webdriver
# 使用 Chrome 浏览器创建一个 WebDriver
driver = webdriver.Chrome('/path/to/chromedriver')
# 打开百度首页
driver.get('https://www.baidu.com')
# 在搜索框中输入关键词
search_box = driver.find_element_by_name('wd')
search_box.send_keys('Python')
# 点击搜索按钮
search_button = driver.find_element_by_id('su')
search_button.click()
# 关闭浏览器
driver.quit()
Selenium 远程 WebDriver 是一种在远程服务器上运行的 Selenium WebDriver。它可以在不同的机器上运行测试用例,并可以与主机上的 Selenium 服务器连接,从而控制运行在远程服务器上的浏览器。
使用 Selenium 远程 WebDriver 首先需要启动一个 Selenium 服务器,然后在客户端上创建一个 WebDriver 对象并指定运行测试用例的浏览器。客户端的 WebDriver 会将命令发送给 Selenium 服务器,并由服务器代表客户端控制浏览器。
下面是一个使用 Selenium 远程 WebDriver 的示例代码:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
# 启动一个 RemoteWebDriver
desired_capabilities = DesiredCapabilities.CHROME.copy()
driver = webdriver.Remote(
command_executor='http://localhost:4444/wd/hub',
desired_capabilities=desired_capabilities
)
# 打开百度首页
driver.get('https://www.baidu.com')
# 在搜索框中输入关键词
search_box = driver.find_element_by_name('wd')
search_box.send_keys('Python')
# 点击搜索按钮
search_button = driver.find_element_by_id('su')
search_button.click()
# 关闭浏览器
driver.quit()
Selenium WebDriver 和 Selenium 远程 WebDriver 的主要区别在于它们的使用场景不同:
此外,Selenium 远程 WebDriver 还可以通过分布式测试来提高测试效率,可以在多台远程服务器上同时运行测试用例。