一.元素操作
1.输入方法.send_keys() 也可以上传文件send_keys(“路径及文件名字”)
2.点击方法.click()
3.清空操作.clear()
二.窗口操作
- maximize_window( )
最大化浏览器窗口–>模拟浏览器最大化按钮 - set_window_size(width,height)
设置浏览器窗口大小–>设置浏览器宽、高(像素点) - set_window_position(x, y)
设置浏览器窗口位置–>设置浏览器位置 - back()
后退–>模拟浏览器后退按钮 - forward()
前进–>模拟浏览器前进按钮 - refresh()
剧新–>模拟浏览器F5刷新 - close()
关闭当前窗口 -->模拟点击浏览器关闭按钮 - quit()
关闭浏览器驱动对象–>关闭所有程序启动的窗口 - title
获取页面title - current_url
获取当前页面URL
三.获取元素信息的常用方法
- size
返回元素大小 - text
获取元素的文本 - get_attribute(“xxx”)获取属性值,传递的参数为元素的属性名
- is_displayed()
判断元素是否可见 - is_enabled()
判断元素是否可用 - is_selected()
判断元素是否选中,用来检查复选框或单选按钮是否被选中
提示:
1.size、 text:为属性,调用时无括号;如:xxx.size
四 鼠标操作
1为什么使用鼠标操作?
为了满足丰富的html鼠标效果,必须使用对应的方法。
2鼠标事件对应的方法在哪个类中
ActionChains类—>导包 from selenium. webdriver.common.action_chains import ActionChains
3 鼠标事件常用的操作方法
- context_click ()#右击
- double_click () #双击
- drag_and_drop(a,b)#把a的东西拖拽到b
- move_to_element ()悬停
- perform ()#执行以上事件方法
五.键盘操作
1键盘对应的方法在keys类中
包:from selenium.webdriver.common. keys import Keys
2常用的快捷键:
ONTROL: ctrl键
其他,请参考keys底层定义的常亮
3应用
组合键: element.send_keys(Keys.xxx, ‘a’)
单键element.send_keys (Keys.xxx)
六.元素等待
6.1 为什么要设置元素等待
由于电脑配置或网络原因,在查找元素时,元素代码未在第一时间内被加载出来,而抛出未找到元素异常。
6.2什么是元素等待
元素在第一次未找到时,元素等待设置的时长被激活,如果在设置的有效时长内找到元素,继续执行代码,如果超出设置的时长来找打元素,抛出未找到元素异常。
6.3 元素等待分类
1.隐式等待2.显示等待
6.4隐式等待
方法: driver.implicitly_wait (30)#一般情况下设置30秒特色:
1.针对所有元素生效。
2.一般情况下为前置必写代码(1.获取浏览器驱动对象;2.最大化浏览器: 3.设置隐式等待)
6.5 显示等待
方法:WebDriverWait(driver,timeout=10,poll_frequency=0.1).until(lambda x:x.find_element_by_xpath(“@id=‘su’”)).send_keys(“abcd”)
参数:
timeout:超时时间
poll_frequency: 访问频率,默认o.5秒找一次元素
x: x为driver,它是WebDriverWait类将传入的driver赋值给类self._driver,until方法调用了self._driver;
提示:
1.WebDriverWait(driver,timeout=10,poll_frequency=0.1).until(lambda x:x.find_element_by_xpath(“@id=‘su’”))返回的一个元素。
6.6显示等待与隐式等待区别:
1.显示等待:针对单个元素生效2.隐式等待:针对全局元素生效