Selenium-WebDriverApi接口


webdriver获取元素的18种方式: 1、单数模式8 种 id定位模式 element = driver.find_element_by_id('i1') element.send_keys('UI 自动化') print(element) class 定位 element= driver.find_element_by_class_name('classname') element.send_keys('你猜吧') name定位 element= driver.find_element_by_name('name') element.send_keys('你猜吧') css定位 element= driver.find_element_by_css_selector('input[placeholder="请通过CSS SELECTOR定位元素"]') element.send_keys('shenjing') xpath定位 element= driver.find_element_by_xpath("//*[@id='basebody']/div/div[1]/div[6]/input") element.send_keys('shenjing') LINKTEXT 超链接文案 element= driver.find_element_by_link_text("跳转大师兄博客地址") element.click() 模糊 匹配 driver.execute_script("window.scrollTo(0,0);") #执行js element = driver.find_element_by_partial_link_text("跳转大师") element.click() TAGNAME element = driver.find_element_by_tag_name("input") #返回获取的第一个 element.send_keys("PPPP") 2、复数模式8 种 element = driver.find_elements_by_tag_name("input")[1] #返回的是相同的筛选条件筛选结果的list print(element) element.send_keys("今天!!!") ...... 3、底层实现2种 element = driver.find_element('By.ID','[id="i1"]') element.send_keys('UI 自动化') 这18种调用方式最常用的是css和xpath 其他的都不常用 窗口操作 WebDriverApi接口: webdriver获取元素的18种方式: 1、单数模式8 种 id定位模式 element = driver.find_element_by_id('i1') element.send_keys('UI 自动化') print(element) class 定位 element= driver.find_element_by_class_name('classname') element.send_keys('你猜吧') name定位 element= driver.find_element_by_name('name') element.send_keys('你猜吧') css定位 element= driver.find_element_by_css_selector('input[placeholder="请通过CSS SELECTOR定位元素"]') element.send_keys('shenjing') xpath定位 element= driver.find_element_by_xpath("//*[@id='basebody']/div/div[1]/div[6]/input") element.send_keys('shenjing') LINKTEXT 超链接文案 element= driver.find_element_by_link_text("跳转大师兄博客地址") element.click() 模糊 匹配 driver.execute_script("window.scrollTo(0,0);") #执行js element = driver.find_element_by_partial_link_text("跳转大师") element.click() TAGNAME element = driver.find_element_by_tag_name("input") #返回获取的第一个 element.send_keys("PPPP") 2、复数模式8 种 element = driver.find_elements_by_tag_name("input")[1] #返回的是相同的筛选条件筛选结果的list print(element) element.send_keys("今天!!!") ...... 3、底层实现2种 element = driver.find_element('By.ID','[id="i1"]') element.send_keys('UI 自动化') 这18种调用方式最常用的是css和xpath 其他的都不常用 窗口操作 # 返回当前操作的浏览器句柄 driver.current_window_handle # 返回所有打开server的浏览器句柄 driver.window_handles 以上两个用作切换浏览器的tab时封装在pyse中 #获取当前浏览器的大小 driver.get_window_size() #通过像素设置浏览器的大小 driver.set_window_size('width','height') #获取当前窗口针对于windows的位置的坐标x,y driver.get_window_position(20,20) #最大化当前窗口,不需要任何参数 driver.maximize_window() 截取图片 1、 获取当前页面的二进制图片数据,需要自己去写入文件 driver.get_screenshot_as_png() 2、as_png的上层封装,只需要传入图片名称自动写成图片 driver.get_screenshot_as_file('fileName.png') 3、# element截取 element.screenshot() 关闭和退出 # driver.quit() #关闭所有webdriver的页面 # driver.close() #关闭当前页面 执行javascript语句 driver.execute_script('window.scrollTo(100,400);') cookie操作 根据cookiekey,获取cookie信息 cookie = driver.get_cookie('key') 获取所有的cookie信息 cookies = driver.get_cookies() #添加cookie,严格按照格式添加,cookie的name是key,value是值 driver.add_cookie({'name':'fuck','value':'123123123'}) #删除所有 cookie信息 driver.delete_all_cookies() #根据key删除对应的cookie driver.delete_cookie('fuck') 浏览器操作 1、driver.refresh() 刷新 2、driver.forward() 前进 3、driver.back() 后退

 

ElementApi接口

element.get_attribute('style')   #根据标签属性名称获取value
element.send_keys()   #想输入框框中输入字符串如果file类型,可以输入文件的绝对路径上传
element.clear()  #清楚文本内容
element.click()   #鼠标点击操作
element.is_displayed() #返回元素是否课件  True or  False
element.is_selected() #返回原色是否被选中 True  or  False
elemen.screenshot()  截图
# 通过属性名称获取属性
element.get_property('id')
 # 返回标签元素的名字
element.tag_name
 
# 获取当前标签的宽和高
element.size
 
# 获取元素的文本内容
element.text
 
# 模仿回车按钮 提交数据
element.submit()
常见异常:


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

 

posted @ 2018-08-17 17:40  D.零下的小书屋  阅读(271)  评论(0编辑  收藏  举报