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

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

获取元素的代码:
尝试了用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. 1042 Shuffling Machine (20 分)

    1042 Shuffling Machine (20 分) Shuffling is a procedure used to randomize a deck of playing cards. Be ...

  2. linux下一个启动和监测多个进程的shell脚本程序

    #!/bin/sh# Author:tang# Date:2017-09-01 ProcessName=webcrawlerInstanceCount=6RuntimeLog='runtime.log ...

  3. JVM内部细节之二:偏向锁(Biased Locking)

    在前面一片文章<JVM内部细节之一:synchronized关键字及实现细节>中已经提到过偏向锁的概念,在理解什么是偏向锁前必须先理解什么是轻量级锁(Lightweight Locking ...

  4. unity3d中gameObject捕获鼠标点击

    gameObject需加上Colider 一.在update中(推荐) void Update () { //左键 )) disFlag = true; //右键 )) disFlag = true; ...

  5. Docker集群管理(一)—— 基础docker+swarm+shipyard

    目的 学习docker的集群管理,摸索出高可用的docker微服务架构方案.本篇文章只初步的了解下swarm(docker新版已集成了swarm)的使用,了解docker的发现服务的基础方法(dock ...

  6. class装载原理

    原理图: 1.执行引擎是Java虚拟机实现的核心,用于处理各种指令. 2.PC寄存器用于存储线程下一次指令的地址和返回值地址,虚拟机为每个线程创建单独的PC寄存器.如果执行的是本地方法,PC寄存器的值 ...

  7. php 七种数据类型介绍

    PHP有7个数据类型.七个类型: 字符串, 整数, 浮动, 布尔, 数组, 对象, 资源. 字符串 字符串保持字符,如“一”.“abc”,“www.manongjc.com”等.PHP字符串是区分大小 ...

  8. Log4j发送邮件

    源码地址:https://github.com/mistbor/Log4jSendMail 引入activation.jar           log4j.jar            mail.j ...

  9. sqlalchemy--表关系

    通过表关系查数据能更简洁的查询到需要的内容 user, user1, article, user_article(为中间表user_article关联article和user)四个表 from dat ...

  10. linux命令--df/ps aux/netstat/hostname/tail

    查询文件系统 df -h 查询cpu使用情况 top 进程查看: ps aux | grep haproxy 端口查看: netstat -lntup 主机名查看 hostname 查看文件末尾字符串 ...