zoukankan      html  css  js  c++  java
  • python + selenium 常用方法

    1.获取当前页面的Url
      方法:current_url
      实例:driver.current_url 或 print(five.current_url)


    --------------------------------------------------------------------------------
    2.获取元素坐标
      方法:location
      解释:首先查找到你要获取元素的,然后调用location方法
      实例:driver.find_element_by_xpath("xpath").location

    --------------------------------------------------------------------------------
    3.表单的提交
      方法:submit
      解释:查找到表单(from)直接调用submit即可
      实例:driver.find_element_by_id("form1").submit()

    --------------------------------------------------------------------------------
    4.获取CSS的属性值
      方法:value_of_css_property(css_name)
      实例:driver.find_element_by_css_selector("input.btn").value_of_css_property("input.btn")
    --------------------------------------------------------------------------------
    5.获取元素的属性值
      方法:get_attribute(element_name)
      实例:driver.find_element_by_id("kw").get_attribute("kw")
    --------------------------------------------------------------------------------
    6.判断元素是否被选中
      方法:is_selected()
      实例:driver.find_element_by_id("form1").is_selected()
    --------------------------------------------------------------------------------
    7.返回元素的大小
      方法:size
      实例:driver.find_element_by_id("iptPassword").size
      返回值:{'width': 250, 'height': 30}
    --------------------------------------------------------------------------------
    8.判断元素是否显示
      方法:is_displayed()
      实例:driver.find_element_by_id("iptPassword").is_displayed()
    --------------------------------------------------------------------------------
    9.判断元素是否被使用
      方法:is_enabled()
      实例:driver.find_element_by_id("iptPassword").is_enabled()
    --------------------------------------------------------------------------------
    10.获取元素的文本值
      方法:text
      实例:driver.find_element_by_id("iptUsername").text
    --------------------------------------------------------------------------------
    11.元素赋值
      方法:send_keys(*values)
      实例:driver.find_element_by_id("iptUsername").send_keys('admin')
    --------------------------------------------------------------------------------
    12.返回元素的tagName
      方法:tag_name
      实例:driver.find_element_by_id("iptUsername").tag_name
    --------------------------------------------------------------------------------
    13.删除浏览器所有的cookies
      方法:delete_all_cookies()
      实例:driver.delete_all_cookies()
    --------------------------------------------------------------------------------
    14.删除指定的cookie
      方法:delete_cookie(name)
      实例:deriver.delete_cookie("my_cookie_name")
    --------------------------------------------------------------------------------
    15.关闭浏览器
      方法:close()
      实例:driver.close()
    --------------------------------------------------------------------------------
    16.关闭浏览器并且退出驱动程序
      方法:quit()
      实例:driver.quit()
    --------------------------------------------------------------------------------
    17.返回上一页
      方法:back()
      实例:driver.back()
    --------------------------------------------------------------------------------
    18.清空输入框
      方法:clear()
      实例:driver.clear()
    --------------------------------------------------------------------------------
    19.浏览器窗口最大化
      方法:maximize_window()
      实例:driver.maximize_window()
    --------------------------------------------------------------------------------
    20.查看浏览器的名字
      方法:name
      实例:drvier.name
    --------------------------------------------------------------------------------
    21.返回当前会话中的cookies
      方法:get_cookies()
      实例:driver.get_cookies()
    --------------------------------------------------------------------------------
    22.根据cookie name 查找映射Value值
      方法:driver.get_cookie(cookie_name)
      实例:driver.get_cookie("NET_SessionId")
    --------------------------------------------------------------------------------
    23.截取当前页面
      方法:get_screenshot_as_file(filename)
      实例:driver.get_screenshot_as_file("D:\Program Files\Python27\NM.bmp")
    --------------------------------------------------------------------------------
    24.获取当前窗口的坐标
      方法:get_window_position()
      实例:driver.get_window_position()
    --------------------------------------------------------------------------------
    25.获取当前窗口的长和宽
      方法:get_window_size()
      实例:driver.get_window_size()
    --------------------------------------------------------------------------------

    40:选择当前页面上所有tag
    name为input的元素
    inputs = driver.find_elements_by_tag_name(‘input‘)
    --------------------------------------------------------------------------------
    41:从中过滤出type为checkbox的元素,并勾选上
    for input in inputs:
    if input.get_attribute(‘type‘) == ‘checkbox‘:
    input.click()
    --------------------------------------------------------------------------------
    42:使用CSS定位选择所有type为checkbox的元素,并勾选上
    checkboxes = driver.find_elements_by_css_selector(‘input[type = checkbox]‘)
    for checkbox in checkboxes:
      checkbox.click()
    --------------------------------------------------------------------------------
    43:把最后一个checkbox的勾去掉,pop()方法空参数时,默认移除list中的最后一个元素。
    driver.find_elements_by_css_selector(‘input[type = checkbox]‘).pop().click()
    --------------------------------------------------------------------------------
    切换活动对象
    44:切换浏览器handle
    # 切换不同的tab页
    方法:driver.switch_to.window(window_name)
    # 备注:从A页跳转到B页,句柄已经切换过去,但是焦点没有切过去,所以需要switch_to.window,把焦点也切过去,才可以在当前页进行操作。
    # 切换是思路,获取所有的句柄,因为返回是一个list,而且要切换的对象都是最后一个,可以使用[-1]直接切过去
    # 例如:
    driver.switch_to.window(driver.window_handles[-1])
    45:返回上一级表单
    方法: driver.switch_to_parent_content()#旧方法
    driver.switch_to.parent_content#新方法
    --------------------------------------------------------------------------------
    46:返回最外层表单
    方法: driver.switch_to_default_content()#旧方法
    driver.switch_to.default_content()#新方法
    --------------------------------------------------------------------------------
    47:切换到指定frame中
    方法:driver.switch_to.frame('xxx')
    实例:driver.switch_to.frame('frame_name')
    driver.switch_to.frame(index)
    driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0])
    --------------------------------------------------------------------------------
    48:获取当前page的title
    方法:driver.title
    实例:driver.title
    --------------------------------------------------------------------------------
    49:焦点切换到弹窗。
    方法:driver.switch_to_alert()
    实例:driver.switch_to_alert()
    --------------------------------------------------------------------------------
    50:前进
    方法:
    driver.forward()
    --------------------------------------------------------------------------------
    51:刷新页面
    方法:driver.refresh()

  • 相关阅读:
    移动函数的封装示例
    如何从不均衡类中进行机器学习
    DPM(Deformable Parts Model)--原理(一)
    K-means聚类算法
    机器学习中对核函数的理解
    总结:Bias(偏差),Error(误差),Variance(方差)及CV(交叉验证)
    技术干货
    神经网络入门
    目标函数、损失函数、代价函数
    地铁客流检测训练问题记录
  • 原文地址:https://www.cnblogs.com/wyj497022944/p/9626787.html
Copyright © 2011-2022 走看看