zoukankan      html  css  js  c++  java
  • 等待时间,time.sleep()和implicitly_wait()

    在运行一个以前执行的过的功能时,报错了,不能执行了。

    功能描述:通过导航,选择下拉项(发布职位功能),下面是审查的元素:

    获取元素的代码:
    尝试了用xpath去获取:driver.find_element_by_xpath("//a[@href='/ManageJob/PubNewJob']").click()
    问题:但是不能正确跳转过去,用火狐的xpath插件来验证,xpath写法正确,没有错误。然后尝试了各种的获取元素方法,但是均不成功。在开发的提醒下考虑了等待时间。
    解决:首先因为是下拉选择,所以要先选中父级,其次加上等待时间解决了这个问题。
    代码如下:
    import time
         driver.find_element_by_id("joblink").click()
            time.sleep(2)
            driver.find_element_by_xpath("//a[@href='/ManageJob/PubNewJob']").click()
    或者将等待时间更改为: driver.implicitly_wait(30)(智能等待)
     
    那么为什么需要等待时间呢?是因为页面上的元素有加载时间,加等待时间是为了保证脚本运行的稳定性。
    下面是等待时间的两种方法:
    time.sleep(2):等待时间,添加休眠,等待时间固定,单位为s,需要time包。
    implicitly_wait(30):智能等待方法,单位为s,需要time包。
    两种等待时间的区别,第一种time.sleep()时间固定。第二种implicitly_wait()在规定时间范围内只能等待,不用等待时间全部结束后再继续。
     
     
     
     
                                                 发布日期:2014-03-28 12:49
  • 相关阅读:
    小程序请求Django后台及路由跳转
    git操作
    github 介绍
    小程序01
    HTML5要点(四)对象全整理
    JavaScript要点(十二) HTML DOM 事件
    JavaScript要点(九)HTML DOM
    JavaScript要点(八) 闭包
    inferred 和 freefrom
    MySql数据库实现分布式的主从结构
  • 原文地址:https://www.cnblogs.com/meitian/p/3683382.html
Copyright © 2011-2022 走看看