自动化常用API

常用API一段

  • get()获取URL
  • close()
  • clear()  
  • click()
  • back()
  • forward()
  • refresh()      刷新
  • time.sleep()
  • driver.quit()      退出页面
  • maximize_window()     #将浏览器最大化显示
  • send_keys("selenium")
  • driver.get_window_position()[x]      获取坐标轴
  • set_window_position(y=200, x=400)        设置坐标轴
  • driver.get_window_size()        #获取当前浏览器窗口大小
  • set_window_size(width=316, height=600,windowHandle='current')      #设置当前浏览器窗口大小
  • driver.title        获取title
  • assert tab1=="百度一下,你就知道"        断言"页面title属性值错误"
  • assert "WWW.XXXXX.com" in currentPage,        断言"当前非目标页面"
  • driver.current_url       获取当前的URL  
  • driver.window_handles    切换浏览器句柄
  • driver.switch_to.window(handle)         按句柄切换窗口
  • driver.find_element_by_xpath("XXX").text        获取内容
  • driver.find_element_by_id("XXX").is_displayed()         获取不可视元素
  • driver.find_element_by_id("XXX").is_enabled()        判断是否可操作
  • value_of_css_property('height'))        判断该属性的高度
  • double_click().perform()      双击
  • Is_enabled()        判断元素是否可操作
  • Is_selected()        判断元素是否被选中
  • options       选项下的内容
  • datalist
  • radio    单选
  • checkbox    复选框

常用API二段

assert "XXXX" in driver.page_source  断言该页面是否存在“XXXX

assert "XXXX" in driver.page_source  断言该页面是否存在“XXXX

get_screenshot_as_file("文件位置/名字")  文件格式

get_screenshot_as_base64()       截图base64个市

get_screenshot_as_png()    截图png格式 

ActionChains(driver).drag_and_drop(onePosition, twoPosition).perform()         注意引入ActionChains(driver),拖拽效果

ActionChains(driver).drag_and_drop_by_offset(sanPosition, 10, 10).perform()       注意引入ActionChains(driver),移动效果

driver.find_element_by_id("query").send_keys(Keys.F12).    按键操作F12.       注意引入:from selenium.webdriver.common.keys import Keys

ActionChains(driver).key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL).perform()      组合键操做  (注意引入)

ActionChains(driver).context_click(element).send_keys(Keys.ARROW_DOWN).send_keys(Keys.ENTER).perform()     鼠标右键操作

  click(on_element=None) ——单击鼠标左键

  click_and_hold(on_element=None) ——点击鼠标左键,不松开

  context_click(on_element=None) ——点击鼠标右键

  double_click(on_element=None) ——双击鼠标左键

  drag_and_drop(source, target) ——拖拽到某个元素然后松开

  drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开

  key_down(value, element=None) ——按下某个键盘上的键

  key_up(value, element=None) ——松开某个键

  move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标

  move_to_element(to_element) ——鼠标移动到某个元素

鼠标按下与释放  

  ActionChains(driver).click_and_hold(div).perform()     鼠标按下

  ActionChains(driver).release(div).perform()    鼠标释放

ActionChains(driver).move_to_element(位置).perform()      鼠标悬停在某个元素上 

driver.find_element(id, value)      判断页面元素是否存在   

  隐式等待只需设置一次,它将在driver整个生命周期中都起作用。

  弊端:会等待所有内容加载完成后才会进行下一步

wait.until(conditions.title_is('百度新闻'))          显式等待(等待title出现再进行)   注意引入:from selenium.webdriver.support import expected_conditions 

frame相关操作

switch_to_default_content()          回到默认 

switch_to.frame(位置)    操作Frame中的页面元素 

iframe相关操作

注意事项

若要进入二级iframe,需要先进入frame,然后再依次进入。

无论进入几层,只需一个switch_to_default_content()就能退回到顶层frameset页面

操作JavaScript的Alert弹窗 confirm弹窗 prompt弹窗 

  driver.switch_to_alert().text == '这是一个alert弹窗'

  driver.switch_to_alert().text == '这是一个confirm弹窗'

  driver.switch_to_alert().text == '这是一个prompt弹窗' 

操作浏览器的Cookie 

driver.get_cookies()       获取cookie

driver.delete_cookie('ABTEST')        删除cookie

driver.delete_all_cookies()     删除全部cookie

 

 

 

 

常用API三段

 。。。。。。

 

 

 

 

 

posted @ 2020-03-01 11:23  Delta.Farce  阅读(257)  评论(0编辑  收藏  举报