Selenium学习之==>WebDriverApi接口详解

浏览器操作

1 driver.back()             # 后退
2 driver.forward()          # 前进
3 driver.refresh()          # 刷新

窗口操作

1 driver.get_window_size()             # 获取浏览器大小
2 driver.set_window_size('500','500')  # 设置浏览器大小
3 driver.maximize_window()             # 最大化浏览器
4 driver.current_window_handle()       # 返回当前操作的浏览器句柄
5 driver.window_handles()              # 返回所有打开server的浏览器句柄

截取当前页面(截图)

1 driver.get_screenshot_as_file('pic.png')  # 文件名必须以小写的.png结尾

执行JavaScript语句

1 driver.execute_script('JavaScript Commond')
2 driver.execute_script('window.scrollTo(0,0);')  # 操作滚动条到浏览器最上面

 Cookie操作

 1 # 根据cookieKey,获取cookie信息
 2 cookie = driver.get_cookie('cookieKey')
 3 
 4 # 获取所有cookie信息
 5 cookies = driver.get_cookies()
 6 
 7 # 添加cookie,严格按照格式添加,cookie的key为name,value为value
 8 driver.add_cookie({'name': 'tmp', 'value': '123123123'})
 9 
10 # 删除所有cookie信息
11 driver.delete_all_cookies()
12 
13 # 根据cookieKey删除对应cookie
14 driver.delete_cookie('UiCode')

浏览器句柄及切换

 1 print(driver.window_handles)    # 获取所有打开server的浏览器句柄,返回的是一个list
 2 bl = driver.find_element_by_css_selector('[href="/new-index/"]')
 3 bl.click()                      # 点击连接打开一个新的页面
 4 print(driver.window_handles)    # 再次获取所有打开server的浏览器句柄
 5 handes = driver.window_handles
 6 driver.switch_to.window(handes[1])  # 切换浏览器句柄到新打开的这个页面
 7 cl = driver.find_element_by_css_selector('#newtag')
 8 cl.send_keys('AAAA')
 9 driver.close()     # 关闭当前指针指向句柄的页面
10 driver.switch_to.window(handes[0])  # 手动将浏览器指针切换回之前的页面
11 driver.find_element_by_css_selector('#i1').send_keys('EEEE')
12 driver.quit()      # 关闭所有页面

关闭与退出

1 driver.close()   # 关闭当前页面,关闭页面后如果指针切换了,必须手动切回来
2 driver.quit()    # 关闭所有页面,退出驱动

ElementApi接口

 1 # 根据标签属性名称,获取属性value
 2 element.get_attribute('style')
 3  
 4 # 向输入框输入字符串 如果input的type为file类型 可以输入文件绝对路径上传文件
 5 element.send_keys()
 6  
 7 # 清除文本内容
 8 element.clear()
 9  
10 # 鼠标左键点击操作
11 element.click()
12  
13 # 通过属性名称获取属性
14 element.get_property('id')
15  
16 # 返回元素是否可见 True or False
17 element.is_displayed()
18  
19 # 返回元素是否被选中 True or False
20 element.is_selected()
21  
22 # 返回标签元素的名字
23 element.tag_name
24  
25 # 获取当前标签的宽和高
26 element.size
27  
28 # 获取元素的文本内容
29 element.text
30  
31 # 模仿回车按钮 提交数据
32 element.submit()
33  
34 # 获取当前元素的坐标
35 element.location
36  
37 # 截取图片
38 element.screenshot()

弹框处理

1 driver.find_element_by_css_selector('#confirm').click()  # 点击按钮,弹出弹框
2 print(driver.switch_to.alert.text)  # 打印弹框返回的文本文字
3 driver.switch_to.alert.accept()     # 确认
4 driver.switch_to.alert.dismiss()    # 取消

常见异常

 1 NoSuchElementException:没有找到元素
 2  
 3 NoSuchFrameException:没有找到iframe
 4  
 5 NoSuchWindowException:没找到窗口句柄handle
 6  
 7 NoSuchAttributeException:属性错误
 8  
 9 NoAlertPresentException:没找到alert弹出框
10  
11 ElmentNotVisibleException:元素不可见
12  
13 ElementNotSelectableException:元素没有被选中
14  
15 TimeoutException:查找元素超时

 

posted on 2018-07-20 18:19  破解孤独  阅读(347)  评论(0编辑  收藏  举报

导航