selenium,最正确的网页等待方式

简介: selenium,最正确的网页等待方式

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。他支持市场上绝对多数的浏览器。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

看了Selenium的简介有没有觉得它很牛呢?其实即使我们并非是做自动化测试的工作,学会这个软件也可以在生活中帮我们大忙。它除了用于自动化测试,还能用于爬虫上面。

接触过爬虫的小伙伴都知道静态网页是最好爬的。但是要是遇到动态加载,懒加载,js脚本加载的页面那就没那么好爬了。因为直接获取网站的时候,网页甚至没有打开。这时候用Selenium是一个非常正确的选择。

我们用Selenium只需要加个等待函数就行了。

方法一:

# 等待 3 秒 
from time import sleep 
sleep(3)

这是python本来就有的等待命令,无论如何都会等上3秒才会执行下一步。那么这个方法是有缺陷的。它会遇到两种问题。

问题一:要是等待了3秒,但是网站还是没有加载完,这样子继续执行就会因为取不到网页有的元素而报错。

问题二:当然我们可以直接固定5秒,10秒等待。不过这样子就会造成等待时间的浪费。

方法二:

driver.implicitly_wait(10)

上面的语句用的是selenium里面的方法,具体是每0.5秒执行一下寻找元素,要是找到那就直接不用等待。然后这里的10是最大的等待时间。

用implicitly_wait可以避免了等待时间的浪费。是更加科学的等待方式。

上面讲解相信大家很容易就能理解。有兴趣学完整地学习selenium的话,可以关注公众号:诗一样的代码,留言给我,我教你系统地学。

相关文章
|
存储 搜索推荐 数据挖掘
使用selenium库模拟浏览器行为,获取网页的cookie值
使用selenium库模拟浏览器行为,获取网页的cookie值
|
搜索推荐 API 数据安全/隐私保护
使用Selenium进行网页登录和会话管理
使用Selenium进行网页登录和会话管理
|
4天前
|
Web App开发 数据采集 JavaScript
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
本文介绍了Selenium、Chrome DevTools及Chrome DevTools Protocol (CDP) 的基本功能与应用。Selenium是一款开源自动化测试工具,适用于网页端应用程序测试和数据采集,具备跨平台特性。Chrome DevTools内置浏览器中,提供调试、分析Web应用程序的功能,包括元素、控制台、源代码和网络选项卡等。CDP是一套用于与Chromium内核浏览器通信的API,支持自动化测试和性能分析。文中还展示了Selenium与CDP结合使用的示例,如捕获网络请求数据和打印网页内容,并推荐了相关书籍和资源以供深入学习。
74 39
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
|
2月前
|
JavaScript 前端开发 测试技术
精通Selenium:从基础到高级的网页自动化测试策略
【10月更文挑战第6天】随着Web应用变得越来越复杂,手动进行功能和兼容性测试变得既耗时又容易出错。自动化测试因此成为了现代软件开发不可或缺的一部分。Selenium是一个强大的工具集,它支持多种编程语言(包括Python),允许开发者编写脚本来模拟用户与Web页面的交互。本文将带领读者从Selenium的基础知识出发,逐步深入到高级的应用场景,通过丰富的代码示例来展示如何高效地进行网页自动化测试。
512 5
|
4月前
|
Web App开发 敏捷开发 测试技术
自动化测试之美:使用Selenium WebDriver进行网页功能验证
【8月更文挑战第29天】在数字时代,软件质量是企业竞争力的关键。本文将深入探讨如何通过Selenium WebDriver实现自动化测试,确保网页应用的可靠性和性能。我们将从基础设置到编写测试用例,逐步引导读者掌握这一强大的测试工具,同时分享实战经验,让测试不再是开发的负担,而是质量保证的利器。
|
6月前
|
数据采集 Web App开发 数据处理
一步步教你用Python Selenium抓取动态网页任意行数据
使用Python Selenium爬取动态网页,结合代理IP提升抓取效率。安装Selenium,配置代理(如亿牛云),设置User-Agent和Cookies以模拟用户行为。示例代码展示如何使用XPath提取表格数据,处理异常,并通过隐式等待确保页面加载完成。代理、模拟浏览器行为和正确配置增强爬虫性能和成功率。
755 3
一步步教你用Python Selenium抓取动态网页任意行数据
|
XML 数据采集 JSON
scrapy_selenium爬取Ajax、JSON、XML网页:豆瓣电影
在网络爬虫的开发过程中,我们经常会遇到一些动态加载的网页,它们的数据不是直接嵌入在HTML中,而是通过Ajax、JSON、XML等方式异步获取的。这些网页对于传统的scrapy爬虫来说,是很难直接解析的。那么,我们该如何使用scrapy_selenium来爬取这些数据格式的网页呢?本文将为你介绍scrapy_selenium的基本原理和使用方法,并给出一个实际的案例。
116 0
|
监控 数据挖掘 Java
Scala中使用Selenium进行网页内容摘录的详解
Scala中使用Selenium进行网页内容摘录的详解
python+selenium 通过添加cookies或token解决网页上验证码登录问题
cookie或token可以保存登录信息,当我们拿到cookie后,可以通过向浏览器发送cookie中记录的数据,直接变成登录状态,不需要再登录。
2309 0
|
Python
selenium--等待的三种方式
selenium--等待的三种方式

热门文章

最新文章

相关实验场景

更多