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
  • 相关阅读:
    qt获取本机ip
    qt获取本机用户名
    QT获取主机名称
    关于代码控制管理的一些想法
    QLabel添加Click信号
    QT中,控件显示不下,用...表示
    qt获取屏幕
    Matlab boxplot for Multiple Groups(多组数据的箱线图)
    Linux Bash代码 利用for循环实现命令的多次执行
    DataProcessing
  • 原文地址:https://www.cnblogs.com/meitian/p/3683382.html
Copyright © 2011-2022 走看看