百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

selenium系列教程|3.添加智能等待时间,time 包

wptr33 2025-05-09 22:04 5 浏览

题图正版授权IC

添加等待时间

有时候为了保证脚本运行的稳定性,需要脚本中添加等待时间。

添加休眠

添加休眠非常简单,我们需要引入 time 包,就可以在脚本中自由的添加休眠时间了。

from selenium import webdriver

import time #调入 time 函数

browser = webdriver.Firefox()

browser.get("http://www.baidu.com")

time.sleep(0.3) #休眠0.3秒

browser.find_element_by_id("kw").send_keys("selenium")

browser.find_element_by_id("su").click()

time.sleep(3) # 休眠3秒

browser.quit()

智能等待

通过添加 implicitly_wait() 方法就可以方便的实现智能等待;

implicitly_wait(30)

的用法应该比 time.sleep() 更智能,后者只能选择一个固定的时间的等待,前者可以

在一个时间范围内智能的等待。

selenium.webdriver.remote.webdriver.implicitly_wait(time_to_wait)

隐式地等待一个无素被发现或一个命令完成;这个方法每次会话只需要调用一次

time_to_wait: 等待时间

用法:

browser.implicitly_wait(30)

# coding = utf-8

from selenium import webdriver

import time #调入 time 函数

browser = webdriver.Firefox()

browser.get("http://www.baidu.com")

browser.implicitly_wait(30) #智能等待30秒

browser.find_element_by_id("kw").send_keys("selenium")

browser.find_element_by_id("su").click()

browser.quit()

打印信息

很多时间我们不可能盯着脚本执行,我们需要一些打印信息来证明脚本运行是否正确:

打印 tile

把刚才访问页面的 title 打印出来。

coding = utf-8

from selenium import webdriver

driver = webdriver.Chrome()

driver.get('http://www.baidu.com')

print driver.title # 把页面 title 打印出来

driver.quit()

虽然我没看到脚本的执行过程,但我在执行结果里看到了

>>>

百度一下,你就知道

说明页面正确被我打开了。

打印 URL

可以将浏览器的 title 打印出来,这里再讲个简单的,把当前 URL 打印出来。其实

也没啥大用,可以做个凑数的用例。

#coding=utf-8

from selenium import webdriver

import time

browser = webdriver.Firefox()

url= 'http://www.baidu.com'

#通过 get 方法获取当前 URL 打印

print "now access %s" %(url)

browser.get(url)

time.sleep(2)

browser.find_element_by_id("kw").send_keys("selenium")

browser.find_element_by_id("su").click()

time.sleep(3)

browser.quit()


西边人细说测试,

头条号(软件测试资源站)作者,程序爬虫获取国内外测试资源分享给自学爱好者。

今日头条关注后,私信回复如下关键词获取大量打包资料下载。

测试资料、工具、Python、自动化测试报告、梯子 等

相关推荐

如果手机显示无SIM卡,到底是什么意思呢?

一般手机显示无可用SIM卡,可能是如下原因造成的,大家可以了解下,并且进行解决。第一个,SIM卡未正确插入:我们需要检查SIM卡是否已正确插入手机。如果SIM卡没有完全插入,或者插反了,手机可能会显...

赶紧设置!工信部提醒设置手机SIM卡密码

【赶紧设置!工信部提醒设置手机SIM卡密码】平安法治2020近日,针对网友反映的手机失窃导致信息泄露事件,国家工信部立即组织核查处理,要求电信企业加强安全防护,并提醒手机用户设置SIM卡密码。...

手机突然显示无SIM卡?这样做就能恢复~

大家有没经历过明明SIM卡在卡槽里放得好好的,手机却突然显示无SIM卡的状况?没有了SIM卡手机就失去了灵魂,打电话、上网的功能都不能用了。这到底是怎么一回事儿?让小翼帮你来解答~什么是SIM卡?SI...

SK电讯首尔门店遭“围攻”,SIM卡更换服务陷混乱

据yna.co.kr网4月28日报道,28日,韩国SK电讯推出免费SIM卡更换服务以应对网络安全风险,首尔光化门店门前清晨8点便已排起长队。原定于上午10点开始的服务因企业员工需求激增,提前至9点启动...

Spring新闻汇总:Framework、Data、Security、Integration和Modulith发布里程碑版本

...

Springboot特性、快速创建SpringBoot应用、Starter简介

SpringBoot基础本章我们将揭开SpringBoot的神秘面纱。...

Springboot2的熔断、限流和降级讲解

高可用的三大利器是熔断、限流和降级。它们都是在分布式系统中用于保障系统稳定性和可用性的重要策略。熔断(CircuitBreaker):熔断是一种防止故障扩散的机制。当一个服务出现故障或超时,熔断器会...

Spring Cloud 全面解析:分布式系统开发的魔法工具包

SpringCloud全面解析:分布式系统开发的魔法工具包SpringCloud是Java开发者构建分布式系统的得力助手。它基于SpringBoot,为开发者提供了强大的微服务架构支持...

真香!GitHub开源SpringCloud Alibaba全解(全彩版)先到先得!

SpringCloudAliababa简介SpringCloudAlibaba是阿里巴巴集团开源的一套微服务架构解决方案。...

聊聊langchain4j-spring的1.0.0-beta版本的更新

序本文主要研究一下langchain4j-spring的1.0.0-beta版本的更新1.0.0-beta1...

Java异步编程(5种异步实现方式详解)

Java面试经常会问到:异步操作?什么是异步?与同步有什么区别?Java异步的是如何实现?有哪些异步实现方式?下面我一一来详解异步@mikechen什么是异步?...

全部开源的快速开发平台-开源字节

《硕宇精选》专注于探索、发现、分享开源技术应用和优质开源项目。本期推荐的优质项目是开源字节是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。该平台基于SpringBoot+MyBat...

Trip.com launches 700 products in 15 countries

OnlinetravelagencyTrip.comhasofferedmorethan700newoverseasproducts,visiting15countries...

Spring事务

使用Spring事务Spring事务介绍Spring事务的特点:1.多种事务API,Spring事务都可兼容;2.程序接入简单;3.与已有的Spring框架集成。...

牛刀小试——五分钟入门Spring Boot

万物皆可HelloWorld在一个程序员的眼里,万物皆可HelloWorld。SpringBoot当然也不例外。下面一起来完成我们的第一个SpringBoot程序。...