Python Selenium 是一个强大的自动化测试工具,可以模拟用户在浏览器中的操作,并自动执行一系列的任务。本文将从多个方面介绍如何使用 Python Selenium 进行实战。
一、安装和配置
1、安装 Python Selenium
pip install selenium
2、安装浏览器驱动
根据使用的浏览器选择相应的驱动,并将驱动程序添加到系统的环境变量中。
对于 Chrome 浏览器:
from selenium import webdriver
# 设置 Chrome 驱动的路径
chrome_driver = "/path/to/chromedriver"
# 创建 Chrome 浏览器实例
driver = webdriver.Chrome(chrome_driver)
# 打开网页
driver.get("https://www.example.com")
二、元素定位
1、通过 ID 定位元素
# 通过 ID 查找元素
element = driver.find_element_by_id("my-element")
2、通过 class 名称定位元素
# 通过 class 名称查找元素
element = driver.find_element_by_class_name("my-class")
3、通过标签名称定位元素
# 通过标签名称查找元素
element = driver.find_element_by_tag_name("h1")
三、操作网页
1、点击按钮
# 通过 ID 定位按钮
button = driver.find_element_by_id("my-button")
# 点击按钮
button.click()
2、填写表单
# 通过 ID 定位输入框
input_box = driver.find_element_by_id("my-input")
# 清空输入框
input_box.clear()
# 填写内容
input_box.send_keys("Hello, World!")
3、获取元素属性值
# 通过 ID 定位元素
element = driver.find_element_by_id("my-element")
# 获取元素的文本内容
text = element.text
# 获取元素的链接地址
link = element.get_attribute("href")
四、处理弹窗
1、切换窗口
# 获取当前窗口的句柄
current_window = driver.current_window_handle
# 获取所有窗口的句柄
all_windows = driver.window_handles
# 切换到新开的窗口
for window in all_windows:
if window != current_window:
driver.switch_to.window(window)
break
2、处理警告框
# 处理简单的警告框
alert = driver.switch_to.alert
alert.accept()
3、处理确认框
# 处理确认框
confirm = driver.switch_to.alert
confirm.accept() # 点击确认按钮
confirm.dismiss() # 点击取消按钮
五、执行 JavaScript
通过 Selenium,我们还可以执行 JavaScript 代码,以实现更加复杂的功能。
# 执行 JavaScript 代码
driver.execute_script("document.getElementById('my-element').style.backgroundColor = 'red';")
六、其他技巧
1、等待页面加载完成
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
# 等待页面的某个元素出现
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "my-element"))
)
2、截屏保存
# 截屏保存
driver.save_screenshot("screenshot.png")
3、模拟滚动
# 模拟滚动到页面底部
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
本文介绍了 Python Selenium 的安装和配置,元素定位,操作网页,处理弹窗,执行 JavaScript 以及其他一些技巧。通过这些实战内容,你可以更好地应用 Python Selenium 来自动化测试和执行各种任务。