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

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

获取元素的代码:
尝试了用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. php文章付费阅读系统球料付费阅读系统

    服务项目 新手技术咨询 企业技术咨询 定制开发 服务说明 QQ有问必答 QQ.微信.电话 微信开发.php开发,网站开发,系统定制,小程序开发 价格说明 200元/月 1000/月 商议       ...

  2. 关于android im

    从各种pack中看到 环信 easemob.com  300万用户以下免费 org.jivesoftware.smackopenfireappkefu等开源im

  3. 有意思的bug

    1. Xss攻击型的bug Xss攻击即跨站脚步攻击,通过插入恶意脚本 ,实现对用户浏览器的控制. Bug现象:新增物品时,物品名称输入一段JavaScript代码,在提交时此代码被执行.如:输入&l ...

  4. Opencv 入门学习之图片人脸识别

    读入图片,算法检测,画出矩形框 import cv2 from PIL import Image,ImageDraw import os def detectFaces(image_name): im ...

  5. Ubuntu16.04LTS中使用 apt-get install 出现错误 Could not get lock /var/lib/dpkg/lock 的解决方案

    背景 近期,在Ubuntu 16.04 LTS 的操作系统中,安装MySQL-python的时候出现缺少依赖包的情况: 当使用命令 # sudo apt-get install xxx 安装依赖包的时 ...

  6. 代码生成器 CodeSmith 的使用(一)

    由于在项目中经常要会用到数据库的 CRUD 操作(增.删.改.查),而且还使用的是orm 框架将数据库表名和表中的的字段映射成相应的类属性.如果把大量的时间用到手工输入数据库表中的字段,除了能练习打字 ...

  7. Trace VM

    24小时稳定性压测Trace 高并发情况下主要观察VM运行情况 一.总体概览 如上图所示 持久代十分稳定,没有发生OOM 二.VM区域详情 上图为VM每个区间的具体情况 1.持久代始终占分配空间的四分 ...

  8. C++官方文档-this

    #include <iostream> using namespace std; class Dummy { public: int x; Dummy() : x() { } ; Dumm ...

  9. kvm安装及使用

    ****centos7安装及使用kvm: http://blog.csdn.net/github_27924183/article/details/76914322?locationNum=5& ...

  10. js1:根据标签的Id获取value值

    例子:<input id="startDate" name="startDate" value="2015-09-14" class= ...