前言
UI自动化最根本的就是操作页面上的各种元素,而操作元素的基础是元素的定位,只有准确地定位到元素才能进行后续操作。下面主要是使用selenium,即使用selenium模拟人的操作行为,去操作浏览器上的元素。
一、常用元素操作
方法 | 说明 |
---|---|
send_keys() | 键盘输入 |
click() | 鼠标左键点击 |
clear() | 清空 |
submit() | form表单提交 |
select_by_value() | Select下拉框 选项的value属性的值 |
select_by_index() | Select下拉框 第几个选项 |
select_by_visible_text() | Select下拉框 选项的文本值 |
switch_to.frame() | 切换到iframe |
getTitle() | 获取网页title |
getCurrentUrl() | 获取URL |
getText() | 获取文本信息 |
getSize() | 获取输入框长度 |
isSelected() | 判断是否被选中 |
isDisplayed() | 判断是否可见 |
isEnabled() | 判断是否可编辑 |
close() | 关闭浏览器操作 |
quit() | 退出此驱动程序,关闭所有相关窗口 |
window_handles | 获取打开的多个窗口句柄 |
switch_to.window(windows[-1]) | 切换到当前最新打开的窗口 |
句柄切换示例:
# 获取打开的多个窗口句柄
windows = driver.window_handles
# 切换到当前最新打开的窗口
driver.switch_to.window(windows[-1])
二、元素高级操作
selenium中所有的高级操作,被封装在ActionChains类中
方法 | 说明 |
---|---|
double_click() | 双击 |
content_click() | 右键单击 |
click_and_hold() | 长按 |
drag_and_drop() | 拖拽 |
move_to_element() | 鼠标移动 |
perform() | 表示执行动作,调用此方法,才真正执行 |
代码如下(示例):
ActionChains(driver).double_click(driver.find_element_by_text("晚风吹儿")).perform()