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()