1. 元素本身属性操作
获取元素状态或内容,用于断言或逻辑判断。
# 假设已定位到元素:element = driver.find_element(By.ID, "xxx")
# 1. 获取元素文本 (获取标签对之间的文本,不含 HTML 标签)
text_content = element.text
# 2. 判断元素是否被选中 (常用于单选框 radio、复选框 checkbox)
is_checked = element.is_selected() # 返回 True/False
# 3. 判断元素是否可用 (未被 disabled 禁用)
is_usable = element.is_enabled() # 返回 True/False
# 4. 判断元素是否可见 (在页面上显示且宽高不为 0)
is_visible = element.is_displayed() # 返回 True/False
# 模拟点击:element.click()
# 模拟输入:element.send_keys()
# 模拟清除:element.clear()
# 页面刷新:driver.refresh()
2. 浏览器窗口操作
控制浏览器窗口的行为和生命周期。
# 1. 最大化窗口
driver.maximize_window()
# 2. 刷新页面
driver.refresh()
# 3. 后退 (相当于点击浏览器后退按钮)
driver.back()
# 4. 前进 (相当于点击浏览器前进按钮)
driver.forward()
# 5. 退出 (关闭所有关联窗口并结束驱动进程,务必在脚本末尾使用)
driver.quit()
# 注意:driver.close() 仅关闭当前焦点窗口
3. 滚动条处理 (JavaScript 执行)
Selenium 无法直接操作滚动条,需通过执行 JS 代码实现。
# 1. 定义 JS 字符串
# 方式 A: 滚动到绝对坐标 (x=横向,y=纵向)
js_scroll_abs = "window.scrollTo(0, 500)"
# 方式 B: 滚动到底部
js_scroll_bottom = "window.scrollTo(0, document.body.scrollHeight)"
# 方式 C: 滚动到特定元素位置 (需先定位元素)
# element = driver.find_element(By.ID, "footer")
# js_scroll_elem = "arguments[0].scrollIntoView();"
# 2. 执行 JS 代码
driver.execute_script(js_scroll_abs)
4. 截图处理
用于自动化测试失败时的现场保留或验证。
driver.get_screenshot_as_file()

