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:查找元素超时