selenium常用界面交互操作
浏览器操作
浏览器显示范围
窗口最大化:
driver.maximize_window()
设置窗口大小:
dirver.set_window_size(width, height)
设置窗口位置:
dirver.set_window_position(x, y)
浏览器显示页面操作
页面后退操作:
driver.back()
页面前置操作:
driver.forward()
页面刷新:
driver.refresh()
浏览器关闭操作
关闭当前窗口(创建驱动时第一个打开的窗口):
dirver.close()
关闭浏览器:
driver.quit()
获取浏览器信息:
获取标题:
driver.title
获取网页地址:
driver.current_url
页面交互操作
下拉框
问题:
元素定位的方式操作下拉框:
1.操作繁琐
2.影响脚本运行效率
解决:
select下拉框
实现:
导包:
from selenium.webdriver.support.select import Select
创建select对象:
select = Select(element)
选择选项:
select.select_by_index(index) //下标方式
select.select_by_value(value) //根据选项value属性值,用的最多
select.select_by_visible_text(text) //根据选项文本
注意:
Select类实现选项选择只适用于HTML原生态select+option的下拉框。
弹出框
自定义弹出框:
如果是右键弹出框可以检查到HTML元素信息的,直接通过元素定位来操作处理。
JS弹出框:
右键弹出框无法检查到HTML元素信息的
弹出框处理办法:
alert = driver.switch_to.alert //获取弹出框对象
alert.text //获取弹出框文本
alert.accept() //接受弹出框
alert.dismiss() //取消弹出框,没有取消按钮一样生效
滚动条
selenium无法直接控制滚动条,需要通过js语句间接控制滚动条
定义js字符串:
js_str1 = "window.scrollTo(0,3000)" //控制滚动条滑动到页面最底部
执行js字符串:
driver.execute_script(js_str1)
鼠标操作
鼠标操作实现步骤:
1.导包
from selenium.webdriver import ActionChains
2.实例化鼠标对象
action = ActionChains(driver)
3.调用鼠标方法,element表示元素对象
3.1 鼠标悬停
action.move_to_element(element)
3.2 鼠标右击
action.context_click(element)
3.3 鼠标双击
action.double_click(element)
3.4拖拽
action.drag_and_drop(element1,element2)
4.执行鼠标操作
调用鼠标方法并不会去执行鼠标操作,必须调用perform()才会执行。
action.perform()

浙公网安备 33010602011771号