Selenium之WebdriverApi详解

获取标签元素css

# 经过ID定位目标元素 driver.find_element_by_id('#i1') # 经过classname定位目标元素 driver.find_element_by_class_name('c1') # 经过name属性定位目标元素 driver.find_element_by_name('name') # 经过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_element_by_partial_link_text('大师兄')

获取标签元素经常使用的一共有8种定位方式,而Selenium实际提供了18种定位方式,还有8中是上面的复数形式,这里就不一一介绍了,实际运用中并不经常使用,还有2种其实是这上面所说16种的底层封装。参数化的一种调用方式而已。chrome

 

浏览器操做windows

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

窗口操做浏览器

# 获取当前浏览器大小 driver.get_window_size() # 经过像素设置浏览器大小 driver.set_window_size('width:100px','height:100px') # 获取当前窗口针对于windows的位置的坐标x,y driver.get_window_position() # 设置当前窗口针对windows的位置,x,y driver.set_window_position(20,20) # 最大化当前窗口,不须要传参 driver.maximize_window() # 返回当前操做的浏览器句柄 driver.current_window_handle # 返回全部打开server的浏览器句柄 driver.window_handles

截取当前页面ui

# 获取当前页面的二进制图片数据,须要本身去写入文件
driver.get_screenshot_as_png()
# as_png的上层封装,只须要传入图片名称自动写成图片
driver.get_screenshot_as_file()

执行JavaScript语句url

# 执行JavaScript语句 driver.execute_script('JavaScript Command') # 例:经过JS才操做滚动条 # 参数1:x 参数2:y window.scrollTo(100,400)

关闭与退出spa

# 当开启多个时,关闭当前页面
driver.close()
# 退出并关闭全部页面驱动
driver.quit()

其它code

# 返回页面源码
driver.page_source
# 返回tag标题
driver.title
# 返回当前url
driver.current_url
# 获取浏览器名称 如:chrome
driver.name

ElementApi接口server

# 根据标签属性名称,获取属性value element.get_attribute('style') # 向输入框输入字符串 若是input的type为file类型 能够输入文件绝对路径上传文件 element.send_keys() # 鼠标左键点击操做 element.click() # 清除文本内容 element.clear() # 经过属性名称获取属性 element.get_property('id') # 返回元素是否可见 True or False element.is_displayed() # 返回元素是否被选中 True or False element.is_selected() # 返回标签元素的名字 element.tag_name # 获取当前标签的宽和高 element.size # 获取元素的文本内容 element.text # 模仿回车按钮 提交数据 element.submit() # 获取当前元素的坐标 element.location # 截取图片 element.screenshot()

常见异常blog

NoSuchElementException:没有找到元素
NoSuchFrameException:没有找到iframe
NoSuchWindowException: 没找到窗口句柄handle
NoSuchAttributeException: 属性错误
NoAlertPresentException:没找到alert弹出框
ElmentNotVisibleException:元素不可见
ElementNotSelectableException:元素没有被选中
TimeoutException:查找元素超时
相关文章
相关标签/搜索