Selenium 提供了多种操作浏览器的方法,包括启动浏览器、退出浏览器、截屏、窗口设置最大化和最小化等操作。下面是这些常见操作的示例代码。
使用 Selenium 启动浏览器的最常见方法是使用 WebDriver 对象来初始化浏览器驱动。
from selenium import webdriver
# 启动Chrome浏览器
driver = webdriver.Chrome()
# 启动Firefox浏览器
# driver = webdriver.Firefox()
# 启动Edge浏览器
# driver = webdriver.Edge()
# 退出整个浏览器
driver.quit()
# 关闭当前窗口
driver.close()
# 将浏览器窗口最大化
driver.maximize_window()
# 截取当前页面的屏幕截图并保存为 PNG 文件
driver.get_screenshot_as_file("screenshot.png")
# 将浏览器窗口最大化
driver.maximize_window()
# 将浏览器窗口最小化
driver.minimize_window()
Selenium 提供了多种用于浏览器页面导航的操作,帮助测试脚本模拟用户在浏览器中的常见行为。以下是这些操作的示例代码。
# 跳转到指定的 URL
driver.get("https://www.example.com")
# 向前导航到下一个页面
driver.forward()
# 返回到前一个页面
driver.back()
# 刷新当前页面
driver.refresh()
# 获取当前页面的 URL
current_url = driver.current_url
print(current_url)
# 获取当前页面的标题
page_title = driver.title
print(page_title)
Selenium 除了基本的页面操作外,还提供了许多高级操作,用于更复杂的自动化测试需求
# 获取所有窗口句柄
windows = driver.window_handles
# 切换到第二个窗口
driver.switch_to.window(windows[1])
# 切换回第一个窗口
driver.switch_to.window(windows[0])
# 通过索引进入 iframe
driver.switch_to.frame(0)
# 通过名称或ID进入 iframe
driver.switch_to.frame("iframeName")
# 通过 WebElement 进入 iframe
iframe_element = driver.find_element_by_tag_name("iframe")
driver.switch_to.frame(iframe_element)
# 退出 iframe,返回主页面
driver.switch_to.default_content()
# 切换到 alert 弹窗
alert = driver.switch_to.alert()
# 接受 alert 弹窗
alert.accept()
# 拒绝 alert 弹窗(适用于 confirm 类型)
alert.dismiss()
# 获取 alert 弹窗的文本
alert_text = alert.text
print(alert_text)
# 输入文本到 prompt 弹窗(如果是 prompt 类型)
alert.send_keys("Test input")
alert.accept()
# 获取所有窗口句柄
windows = driver.window_handles
# 切换到第二个窗口
driver.switch_to.window(windows[1])
# 切换回第一个窗口
driver.switch_to.window(windows[0])
# 执行 JavaScript 代码
driver.execute_script("alert('Hello, world!');")
# 滚动到页面底部
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# 获取页面的标题
title = driver.execute_script("return document.title;")
print(title)