当前位置: 首页 > news >正文

网站建设订单模板下载php网站后台页面

网站建设订单模板下载,php网站后台页面,wordpress网址中文,辽宁建设工程质量监督站网站前言在使用python selenium进行自动化测试实践的过程中#xff0c;经常会遇到元素定位不到#xff0c;弹出框定位不到等等各种定位不到的情况#xff0c;在大多数的情况下#xff0c;无非是以下两种情况#xff1a;1、有frame存在#xff0c;定位前#xff0c;未switch到…前言在使用python selenium进行自动化测试实践的过程中经常会遇到元素定位不到弹出框定位不到等等各种定位不到的情况在大多数的情况下无非是以下两种情况1、有frame存在定位前未switch到对应的frame内2、元素未加载完毕(从界面看已经显示)但DOM树还在load状态或在加载js那对于这类情况怎么解决呢通俗的讲法 等待。高大上点解决自动化测试代码与浏览器加载渲染之间的同步问题。下面我们分段讲述各种处理方式一 强制等待这种方式简单粗暴直接有效不足的地方就是不够灵活。下面看下代码片段#_*_ coding:utf-8 _*___author__ 苦叶子from selenium import webdriverfrom time import sleep   # 注意if __name__ __main__:driver webdrivrer.Firefox()driver.get(http://www.testingunion.com)sleep(3)    # 强制等待3s在执行下一步print u当前url:  , driver.currentsleep(3)   #强制等待3s在执行下一步driver.quit()注 请注意加粗有删除线的代码行用于实现强制等待二、隐性等待webdriver提供了基础的同步方法隐性等待implicitly_wait(xx),该方式的意义是不论业务代码运行在那一步都需要等待webdriver  xx秒如果在等待的xx秒内 webdriver完成了对应的动作则业务代码和webdriver都正常继续执行如果超过了xx秒webdriver还未完成对应的动作则业务代码继续执行而webdriver则会抛出异常(例如timeout或元素未找到等等异常)请看代码实现片段#_*_ coding:utf-8 _*___author__ 苦叶子from selenium import webdriverif __name__ __main__:driver webdrivrer.Firefox()driver.implicitly_wait(30)   # 隐性等待最长等30sdriver.get(http://www.testingunion.com)print u当前url , driver.current_urldriver.quit()注上述代码中加粗删除线的代码通过调用webdriver提供的标准隐性等待方式来实现一种同步机制。其设置的是一个最长等待时间如果在规定的时间未完成则进入下一步。不足在实践中通常我们需要操作的元素已经显示出来但因网络或其他因素浏览器一直处于加载个别js或图片或其他资源时隐性等待模式下这时会依旧处于等待状态直至页面全部加载完毕才能进入下一步。那有没有更好的办法呢当然是有的请参见下一方式。重要隐性等待是全局性质的只需在driver实例化后设置一次即可。在实践中经常见到新手把隐性等待当做sleep来使用在每个步骤后都用一次。三、显性等待更为强大的方式是显性等待来实现同步机制需要WebDriverWait类辅以until()或until_not()方法根据判断条件进行灵活的同步它的主要机制是程序在规定的时间内每个xx秒看一下判断条件是否成立如果成立则执行下一步否则继续等待直至超过设置的最长时间然后抛出异常。请看具体的代码片段#_*_ coding:utf-8 _*___author__ 苦叶子from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.by import Byif __name__ __main__:driver webdrivrer.Firefox()# 隐性等待和显性等待可以同时用要注意的是最大等待时间取决两者之间的大值driver.implicitly_wait(10)driver.get(http://www.testingunion.com)locator (By.LINK_TEXT,  uwebdriver)try:# 在最长20s内每个0.5秒去检查locator是否存在如果存在则进入下一步WebDriverWait(driver, 20, 0.5).until(EC.presence_of_located(locator))# 提取该文本对应的url并打印出来print driver.find_element_by_link_text(uwebdriver).get_attribute(href)finally:print u异常了driver.quit()在本示例中我们设置了隐性等待和显性等待在其他的操作中隐性等待起决定性作用在示例中的WebDriverWait设置了显性等待的地方则显性等待起决定性作用但要注意的是最长等待时间取决于两者之间的大值所以这里显性等待的最长时间为20s。在这里我们主要用到了WebDriverWait类和expected_conditions模块让我们近距离的接触下它们。WebDriverWait类定义实现在wait模块中实现了webdriver的显性等待机制先看下它有哪些参数和方法selenium.webdriver.support.wait.WebDriverWait(类)__init__(self,driver,  # 传入实例化的webdriver对象timeout,  # 超时时间等待的最大时间(需考虑同时考虑隐性等待时间)poll_frequencyPOLL_FREQUENCY,  # 调用until或until_not方法的间隔时间上例为0.5signored_exceptionsNone  #指定忽略的异常如果指定了要忽略的异常类型则在调用until或until_not过程中捕获该类异常时不中断代码继续等待。默认只有NoSuchElementException)until(self,method,    # 在等待期间每个一段时间调用这个传入的方法直到返回值为falsemessage # 如果超时则抛出TimeoutException将message传入给异常)until_not 与until相反until是当某个元素满足某种条件时(出现、存在等等)继续执行until_not则是当某个元素不满足某种条件时继续执行参数含义相同特别注意很多时候大家在使用until或until_not时会将一个WebElement对象传入给method如下WebDriverWait(driver, 10).until(driver.find_element_by_id(kw))     # 这是错误的用法这里的参数一定要是可调用的这个对象一定要有__call__()方法否则会抛出异常TypeError xxx object is not callable在这里也可以用selenium2提供的expected_conditions模块中提供的各种条件也可用WebElement中的is_displayed()is_selected()is_enabled()方法或是自己封装的方法均可。下面我们再看看selenium提供了哪些条件如图所示结束语本文就python selenium三种同步解决方式进行了较为详细的说明这是使用selenium进行自动化测试实践的必备技能希望对大家有所帮助。
http://www.sadfv.cn/news/126251/

相关文章:

  • 网上网站代码可以下载吗万维网网站注册
  • 珠海网站制作品牌策划网站推广教学
  • 正在建设的网站可以随时进入吗织梦网站自适应怎么做
  • 住房公积金网站怎么做减员建筑人才网官方网站中国建筑科学院有限公司认证中心
  • 江门企业做网站解决wordpress慢
  • 基于开源框架的网站开发如何 建设一个网站
  • 可以做家装设计的网站河北省建设工程安全生产监督管理网站
  • 自己做视频直播网站有哪些网站可以做微商
  • 工信部 网站备案江西建设质量安全监督网站
  • 顺企网网站建设北京网站推广排名外包
  • 做网站如何将一张图片直接变体西安网站建设最新案例
  • 耐思尼克的建站宝盒财务公司承兑汇票
  • 网站每天一条推送怎么做的东莞seo关键词排名优化推广
  • 快车app官方下载百度seo软件首选帝搜软件
  • 广东网站开发项目齐河县城乡建设局官方网站
  • 台州高端网站设计做MAD生肉网站
  • 福建示范校建设专题网站wordpress文字添加图片
  • 舞蹈培训网站模板商标查询官方入口
  • 高校服务地方专题网站建设工作站
  • 八宝山做网站公司Discuz采集到Wordpress
  • 北京网站搭建哪家好河南住房和城乡建设厅门户网站
  • 广州网站建设推荐q479185700霸屏百度入驻商家
  • 17网站一起做网店潮汕怎么介绍自己做的网页
  • 个人网站asp源码wordpress转emlog博客
  • 北京诚信建设网站什么是网站可信认证
  • 网站建设与网页设计入门doooor设计
  • 办公家具 技术支持 东莞网站建设网站建设第三方验收收费标准
  • 网站制作框架装修设计培训班哪个好
  • 如何给网站弄ftp专门看广告的网站
  • 做一个中文域名购物网站要多少钱建站行业消失了吗