webdriver API

切换iframe

1、iframe有id和name

driver.switch_to_frame(loc)

2、iframe无id和name

先用xpath定位找到iframe。再switch

iframe = driver.find_element_by_xpath('//*[@id="loginDiv"]/iframe')
driver.switch_to_frame(iframe)

3、切出iframe

switch_to_default_content()

ActionChains类提供了鼠标操作的常见方法

(from selenium.webdriver.common.action_chains import ActionChains)

  1.  click() 点击对象  eg:browser.find_element_by_id("su").click()
  2.  perform()  执行所有ActionChains中存储的行为
  3.  content_click()   右击  
  4.  double_click()双击
  5.  drag_and_drop(source,target)   拖动     source:鼠标拖动的源元素 ;target:鼠标释放的目标元素
  6.  move_to_element()  鼠标悬停

键盘事件Keys()

(from selenium.webdriver.common.keys import Keys)

  1.  send_keys(*value)   在对象上模拟按键输入 eg:browser.find_element_by_id("kw").send_keys("selenium")
  2.  send_Keys(Keys.BACK_SPACE)  删除键  eg:browser.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
  3.  send_Keys(Keys.SPACE)   空格键   eg:browser.find_element_by_id("kw").send_keys(Keys.SPACE)
  4.  send_Keys(Keys.CONTROL,'a')  全选   eg:browser.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
  5.  send_Keys(Keys.ENTER)  回车 eg:browser.find_element_by_id("kw").send_keys(Keys.ENTER)
  6.  send_Keys(Keys.TAB)  制表键
  7.  send_Keys(Keys.ESCAPE)  回退键
  8.  send_Keys(Keys.F1)  键盘F1

多表单切换

  1.  driver.switch_to.frame("if")   切换到iframe(id='if')  switvh_to.frame()默认可以直接取表单的id或name属性
  2.  switch_to.parent_content()   跳出当前一级表单
  3.  switch_to.default_content()  跳回最外层的页面

窗口切换

  1.  driver.current_window_handle   获得当前搜索窗口句柄
  2.  switch_to.window()    窗口切换
  3.  driver.window_handles     返回所有窗口的句柄到当前会话

警告框

  1.  text       返回alert/confirm/prompt中的文字信息
  2.  accept() 接受现有警告框
  3.  dismiss() 解散现有警告框
  4.  send_Keys(*value) 发送文本到警告框
  5.  driver.switch_to_alert().accept() 接受警告框

Cookie

  1.  get_cookies() 获得所有cookies信息 eg : cookie = driver.get_cookies()
  2.  get_cookie(name) 返回字典的key为“name"的cookie信息
  3.  add_cookie(cookie_dict) 添加cookie,需要字典对象  eg:driver.add_cookie({'name1':'value1','name2':'value2'})
  4.  delete_cookie(name,optionsString) 删除cookie信息。name是要删除的cookie名称,optionString是该cookie的选项
  5.  delete_all_cookies() 删除所有cookie

clear()     清除对象的内容,如果可以的话  eg:browser.find_element_by_id("kw").clear()

browser.get("http://www.baidu.com")    获得浏览器对象后,通过get()方法可以向浏览器发送网站 browser.quit()  退出浏览器

driver.refresh()  刷新当前页面

driver = webdriver.Firefox()    、driver=webdriver.Ie()    、  driver=webdriver.Chrome()

  •  注:把webdriver的Firefox对象赋值给变量driver。只有获得了浏览器对象后,才可以启动浏览器。此代码执行前需要Firefox浏览器驱动在selenium webdriver包里了。
  •  浏览器句柄(driver)

submit()  方法用户提交表单。例如,在搜索框输入关键字后,回车操作可以通过submit()方法模拟

.size  返回元素的尺寸

.text  获取元素的文本内容

.get_attribute(name)获得属性值

.is_displayed()   返回元素是否用户可见,结果为true or false

driver.current_url  当前页面的URL

driver.title  当前页面title

browser.implicitly_wait(8)  #隐式等待

pop()或pop(-1)  获取一组元素中的最后一个

pop(0)   获取一组元素中的第一个

pop(1) 获取一组元素中的第二个

os.system("D:\abc.exe") 调用abc.exe上传程序

driver.find_element_by_name('file').sendKeys('D:\abc.txt') 定位上传按钮,添加本地文件

原文地址:https://www.cnblogs.com/Mollylin/p/9289288.html