• Selenium之WebdriverApi详解


    获取标签元素

    # 通过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种的底层封装。参数化的一种调用方式而已。

    浏览器操作

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

    窗口操作

    # 获取当前浏览器大小
    driver.get_window_size()
    # 通过像素设置浏览器大小
    driver.set_window_size('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

    截取当前页面

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

    执行JavaScript语句

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

    关闭与退出

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

    其它

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

    ElementApi接口

    # 根据标签属性名称,获取属性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()

    常见异常

    NoSuchElementException:没有找到元素
    NoSuchFrameException:没有找到iframe
    NoSuchWindowException: 没找到窗口句柄handle
    NoSuchAttributeException: 属性错误
    NoAlertPresentException:没找到alert弹出框
    ElmentNotVisibleException:元素不可见
    ElementNotSelectableException:元素没有被选中
    TimeoutException:查找元素超时
  • 相关阅读:
    删除MFC单文档默认菜单栏的两种方法
    mfc更改背景色
    (转)VC单选按钮控件(Radio Button)用法
    转:MFC 基于对话的程序界面显示完全后立即执行一个函数
    转:vc6以上如何给MFC对话框添加OnInitDialog函数
    常用网址
    2010年春季学期C语言程序设计答疑安排
    rdlc导出Excel
    SQL Server查询表的结构
    C# WinForm开发系列 WebBrowser
  • 原文地址:https://www.cnblogs.com/mululu/p/9284081.html
Copyright © 2020-2023  润新知