画布 1
Selenium 测试框架
  Selenium WebDriver
    浏览器控制
      打开网页
        driver.get()
      刷新
        driver.refresh()
      回退
        driver.back()
      最大化
        driver.maximize_window()
      最小化
        driver.minimize_window()
      关闭
        driver.close()
      退出
        driver.quit() 销毁session
    元素定位（8种）
      定位方式
        id(重点)
          标签id属性
        name
          标签name属性
        classname
        tagname
        xpath(重点掌握)
          表达式
          父、祖先元素
          子、子孙元素
        css selector
          只能找子元素，子孙元素
        link text
        partial link text
      定位操作
        driver.find_element(By.XXX, "value")
          返回WebElement对象
        driver.find_elements(By.XXX, "value")
          返回WebElement对象列表
            找到元素，返回元素列表[WebElement, WebElement]
            未找到元素 返回空列表[]
      xpath 定位
        分类
          绝对定位
            /
          相对定位
            //
        语法
          //*
          //input[@name='wd']
          //input[contains(@value, "百度")]
        调试方式
          浏览器检查工具 - 元素界面 直接 ctrl+f在下面的输入框中调试
          浏览器检查工具 - Console界面
            $x(xpath表达式)
      css 定位
        分类
          绝对定位
            html
          相对定位
            非html
        语法
          .class
          #id
          .class>指定 子标签
          nth-child() 指定第几个子标签
        调度方式
          浏览器检查工具 - Console界面
            $(xpath表达式)
    元素交互
      基本用法
        点击
          element.click()
        输入
          element.send_keys()
        清空
          element.clear()
        元素的文字属性
          element.text
        获取元素的任意属性
          element.get_attribute()
      高级用法
        ActionChains()
          鼠标
            单击
            双击
            右击
            滑动
            拖拽
          滚轮
          键盘
            按键，快捷键
        TouchActions(driver)
    frame 框架
      分类
        frameset
        frame
        iframe
      切换
        driver.switch_to
          .frame()
            切换到指定的frame上
          .default_content()
            切到默认的frame
          .parent_frame
            切换到父级的frame
    弹框处理
      alert
        driver.switch_to.alert()
          text()
            获取文本
          accpt()
            模拟点击 确定
          dissmiss()
            模拟点击 取消
          send_keys()
            输入
    文件上传处理
      send_keys("文件路径")
    cookie
      获取
        driver.get_cookies()
      添加
        driver.add_cookie()
    执行js
      driver.execute_script(" java script 脚本 ")
  Selenium IDE
    录制工具
  Selenium Grid
    分布式并发执行的工具