Day04 Selenium请求库

Selenium请求库

一 什么是Selenium

  Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。

二 安装

  1 安装Selenium:pip install Selenium

          清华园镜像地址:https://pypi.tuna.tsinghua.edu.cn/simple 

  2 安装浏览器驱动:Chrome驱动文件下载:https://chromedriver.storage.googleapis.com/index.html?path=2.35/ 需要配置到path中

三 用法

  1、驱动浏览器的两种方式

    1)driver = webdriver.Chrome()

    2)driver = webdriver.Chrome('path')

    注:每次打开浏览器后都需要关闭driver.close()关闭浏览器

  2、元素的获取

    

    xpath语法:http://www.w3school.com.cn/xpath/xpath_syntax.asp

    CSS 选择器:http://www.w3school.com.cn/cssref/css_selectors.asp

  3、控制浏览器操作

 

   4、鼠标事件:在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供 

  5、键盘事件:send_keys()

  6、断言及等待

    断言:不管是在做功能测试还是自动化测试,最后一步需要拿实际结果与预期进行比较。这个比较的称之为断言。

      

    元素等待:显式等待和隐式等待

      显式等待:使WebdDriver等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常(TimeoutException)

        WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)

          driver:浏览器驱动

          timeout:最长超时时间,默认以秒为单位

          poll_frequency=0.5:检测的间隔(步长)时间,默认为0.5S

          ignored_exceptions=None:超时后的异常信息,默认情况下抛NoSuchElementException异常

        WebDriverWait()一般由until()或until_not()方法配合使用,下面是until()和until_not()方法的说明

          until(method, message=‘’):调用该方法提供的驱动程序作为一个参数,直到返回值为True

          until_not(method, message=‘’):调用该方法提供的驱动程序作为一个参数,直到返回值为False

      隐式等待:提供一个等待时间,单位为秒,则等这个时间过去在去做其他操作。

          implicitly_wait() 默认参数的单位为秒,implicitly_wait(10)设置等待时长为10秒。

  7、多表单、窗口切换、警告框、下拉框、文件上传

                 frame/iframe标签

                              在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位。这时就需要通过switch_to.frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面中。

 

               

 未完待续。。。。。。。。。。。。。。。

 

posted @ 2019-06-27 23:23  _Berlin  阅读(155)  评论(0编辑  收藏  举报