selenium + python 添加等待时间
2016-06-06 14:27
337 查看
转载于:http://www.blogjava.net/qileilove/articles/412450.html
四、添加等待时间
有时候为了保证脚本运行的稳定性,需要脚本中添加等待时间。
4.1、添加休眠
添加休眠非常简单,我们需要引入 time 包,就可以在脚本中自由的添加休眠时间了。
# coding = utf-8
博客园—虫师 http://fnng.cnblogs.com 16
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()
4.2、智能等待
通过添加 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()
或者使用
wait.until(lambda browser: browser.find_element_by_id('dialog-iframe-search'))
这样效果更好
四、添加等待时间
有时候为了保证脚本运行的稳定性,需要脚本中添加等待时间。
4.1、添加休眠
添加休眠非常简单,我们需要引入 time 包,就可以在脚本中自由的添加休眠时间了。
# coding = utf-8
博客园—虫师 http://fnng.cnblogs.com 16
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()
4.2、智能等待
通过添加 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()
或者使用
wait.until(lambda browser: browser.find_element_by_id('dialog-iframe-search'))
这样效果更好
相关文章推荐
- Python爬虫实战(1):爬取Drupal论坛帖子列表
- 我的python之路【第二篇】数据类型与方法
- Python爬虫实战(1):爬取Drupal论坛帖子列表
- python07-生成器与迭代器
- 边做边学Python Flask Web开发(3)-- Flask Hello World!
- Python学习1
- 增强你的python见识
- Flask之旅《Flask Web开发:基于Python的Web应用开发实战》学习笔记
- Opencv3.0-python的那些事儿:(七)、Opencv中Canny边缘检测算法使用
- Opencv3.0-python的那些事儿:(六)、Opencv的图像梯度
- Opencv3.0-python的那些事儿:(八)、Opencv的直方图均衡化
- python判断文件和目录是否存在
- Python案例-开发之路-文件内容查找并修改
- python matplotlib 绘制双Y轴曲线图
- numpy计算移动平均值
- python 迭代器(转)
- 转 Python爬虫实战二之爬取百度贴吧帖子
- Python3.x和Python2.x的区别介绍
- 【转+修改】Secedit:命令行下操作组策略
- 跟Alex学Python之- 你真的了解Python的变量赋值原理么? 推荐