Selenium的WebDriverApi接⼝详解
浏览器操作
# 刷新
# 前进
driver.forward()
# 后退
driver.back()
获取标签元素
# 通过ID定位⽬标元素
driver.find_element_by_id('i1')
# 通过className定位⽬标元素
driver.find_element_by_class_name('c1')
# 通过name属性定位⽬标元素selenium获取cookie
driver.find_element_by_name('n1')
# 通过Xpath定位⽬标元素
driver.find_element_by_xpath('//*[@id="i1"]')
# 通过css Selector定位⽬标元素
driver.find_element_by_css_selector('#i1')
# 通过标签名称定位(注:在⼀个页⾯中,标签⼀定会重复,所以不⽤这个来进⾏定位)
driver.find_element_by_tag_name('input')
# 通过标签中的⽂本查元素
driver.find_element_by_link_text('登录')
# 通过标签中⽂本的模糊匹配查
driver.find_elements_by_partial_link_text('录')
获取标签元素常⽤的⼀共有8种定位⽅式,⽽Selenium实际提供了18种定位⽅式,还有8种是上⾯的复数形式,这⾥就不⼀⼀介绍了,实际运⽤中并不常⽤,还有2种实际上是这上⾯所说16种的底层封装。参数化的⼀种调⽤⽅式⽽已。
Cookie操作
# 根据cookieKey,获取cookie信息
cookie = _cookie('cookieKey')
# 获取所有cookie信息
cookies = _cookies()
# 添加cookie,严格按照格式添加,cookie的key为name,value为value driver.add_cookie({'name':'tmp',
'value':'123123123'})
# 删除所有cookie信息
driver.delete_all_cookies()
# 根据cookieKey删除对应cookie
driver.delete_cookie('UiCode')
窗⼝操作
# 获取当前浏览器的⼤⼩
<_window_size()
# 通过像素设置浏览器的⼤⼩
driver.set_window_size('width','height')
# 获取当前窗⼝针对于Windows的位置的坐标x,y
<_window_position()
# 设置当前窗⼝针对Windows的位置,x,y
driver.set_window_position(20,20)
# 最⼤化当前窗⼝,不需要传参
driver.maximize_window()
# 返回当前操作的浏览器句柄
driver.current_window_handle
# 返回所有打开server的浏览器句柄
driver.window_handles
截取当前页⾯
# 获取当前页⾯的⼆进制图⽚数据,需要⾃⼰去写⼊⽂件
<_screenshot_as_png()
# as_png的上层封装,只需要传⼊图⽚名称⾃动写成图⽚
<_screenshot_as_file('fileName.png')
执⾏JavaScript语句
# 执⾏JavaScript语句
# 例:
通过js来操作滚动条
参数1:x 参数2: y
window.scrollTo(100,400);
关闭与退出
# 当开启多个时,关闭当前页⾯
driver.close()
# 退出并关闭所有页⾯驱动
driver.quit()
其他
# 返回页⾯源码
driver.page_source
# 返回tag标题
driver.title
# 返回当前Url
driver.current_url
# 获取浏览器名称如:chrome
driver.name
ElementApi接⼝
# 根据标签属性名称,获取属性value
<_attribute('style')
# 向输⼊框输⼊字符串如果input的type为file类型可以输⼊⽂件绝对路径上传⽂件element.send_keys()
# 清除⽂本内容
element.clear()
# ⿏标左键点击操作
element.click()
# 通过属性名称获取属性
<_property('id')
# 返回元素是否可见 True or False
element.is_displayed()
# 返回元素是否被选中 True or False
element.is_selected()
# 返回标签元素的名字
element.tag_name
# 获取当前标签的宽和⾼
element.size
# 获取元素的⽂本内容
<
# 模仿回车按钮提交数据
element.submit()
# 获取当前元素的坐标
element.location
# 截取图⽚
element.screenshot()
常见异常
NoSuchElementException:没有到元素
NoSuchFrameException:没有到iframe
NoSuchWindowException:没到窗⼝句柄handle NoSuchAttributeException:属性错误
NoAlertPresentException:没到alert弹出框
ElmentNotVisibleException:元素不可见
ElementNotSelectableException:元素没有被选中 TimeoutException:查元素超时
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论