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

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

获取元素的代码:
尝试了用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

等待时间,time.sleep()和implicitly_wait()的更多相关文章

  1. 自动化测试框架中关于selenium api的二次封装

    不多说,直接看代码如下: #coding:utf-8 from selenium import webdriver from selenium.webdriver.common.action_chai ...

  2. Airtest之web自动化(一)

    Airtest之web自动化(一) [此文档有许多涉及到gif动图的地方,请全屏观看]   了解Airtest: 简介: Airtest是由网易团队开发的一款自动化框架,前期运用与游戏测试(通过截图识 ...

  3. selenium:能够模拟人类打开浏览器的爬虫利器

    介绍 selenium相当于是一个机器人,可以模拟人类登陆浏览器的行为,比如点击.填充数据.删除cookie等等.Chromedriver是一个驱动Chrome的程序,使用它才可以驱动浏览器,其实Ch ...

  4. python自动化测试工具selenium使用指南

    概述 selenium是网页应用中最流行的自动化测试工具,可以用来做自动化测试或者浏览器爬虫等.官网地址为:https://www.selenium.dev/.相对于另外一款web自动化测试工具QTP ...

  5. python-appium识别元素等待时间

    1.显式等待 一个显式等待是你定义的一段代码,用于等待某个条件发生然后再继续执行后续代码. from selenium import webdriverfrom selenium.webdriver. ...

  6. 转:python webdriver API 之设置等待时间

    有时候为了保证脚本运行的稳定性,需要脚本中添加等待时间.sleep(): 设置固定休眠时间. python 的 time 包提供了休眠方法 sleep() , 导入 time 包后就可以使用 slee ...

  7. selenium + python 添加等待时间

    转载于:http://www.blogjava.net/qileilove/articles/412450.html 四.添加等待时间 有时候为了保证脚本运行的稳定性,需要脚本中添加等待时间. 4.1 ...

  8. selenium python (五)打印信息及设置等待时间

    #!/usr/bin/python# -*- coding: utf-8 -*-__author__ = 'zuoanvip' #一般情况下我们要验证打开的页面是否正确,可通过网页的Title和Cur ...

  9. selenium+python等待时间

    等待时间可以有多种 1.硬等待 import time time.sleep(x)#等待x秒 2.浏览器每次查找一个元素都进行等待 import time br.implicitly_wait(x)# ...

随机推荐

  1. file_get_contents failed to open stream: HTTP request failed(一个字符决定成败)

    file_get_contents 开始成功了.后来不知怎么的就报错,调试半天没发现什么问题. 结果.里面多了一个"空格"就报错.去掉空格就好了,你们仔细找找吧.

  2. js和jquery判断该元素中是否有指定class

    <div class="test">test</div> var t = document.getElementsByClassName('test'); ...

  3. spring boot学习(2) SpringBoot 项目属性配置

    第一节:项目内置属性 application.properties配置整个项目的,相当于以前的web.xml: 注意到上一节的访问HelloWorld时,项目路径也没有加:直接是http://loca ...

  4. 学习笔记之YAML

    The Official YAML Web Site http://yaml.org/ YAML(tm) is an international collaboration to make a dat ...

  5. Shell 定时发送邮件检查网站脚本/邮件正文

    #!/bin/bash ############################################################## # File Name: check_http.s ...

  6. 1084 Broken Keyboard (20 分)

    1084 Broken Keyboard (20 分) On a broken keyboard, some of the keys are worn out. So when you type so ...

  7. fiddler script建议教程

    http://www.fiddlerbook.com/Fiddler/dev/ScriptSamples.asp

  8. 关于ESXI5.0版本+ Broadcom BCM5720的BUG

    主要发生在网卡 Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet 和ESX 5.0之前的版本. 虚拟机的网络突然不通,必须删除网卡重新创建 ...

  9. Hibernate hibernate.cfg.xml配置

    数据库连接<required>: <property name="hibernate.connection.driver_class"> com.mysql ...

  10. javaScript中对象属性的访问

    有两种方式访问对象属性,一个是点操作符(.),一种是中括号操作符([ ]). 当你知道属性的名称时,使用点操作符: var myObj = { prop1: "val1", pro ...