| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 10分钟教你如何自动化操控浏览器——Selenium测试工具 -> 正文阅读 |
|
[Python知识库]10分钟教你如何自动化操控浏览器——Selenium测试工具 |
一、概述这几年,Selenium 确实挺火。作为一个 Web 应用程序自动化测试工具,Selenium 可以直接驱动浏览器,模拟真正的用户操作,解决回归测试和多浏览器兼容性测试问题;而且跟 Python 搭配,还能实现不少功能的自动化,切实提升了测试和业务效率。 但我发现,很多人对 Selenium 的了解,还停留在比较浅的层次,无法真正将 Selenium 中的测试方法应用到实际项目中。其实,仅仅掌握 Selenium 运行原理和编程 API 是远远不够的,比如:
首先,下面我们用一张图来看一下Selenium这个库到底能干什么?(如果看不清可以右键用新标签页打开图片查看放大) 定睛一瞅,我们就能感觉到Selenium的强大,尤其是在大厂里,在自动化测试方面,Selenium成为最为有效的自动化工具。 二、操作及应用了解了Selenium的强大功能之后,我们再来亲身体会一下Selenium的便捷。只有亲身体验,才能清楚这款工具究竟有多么方便。 1.库函数下载安装:使用传统的pip安装方式:
当然也可以选择清华的镜像进行下载:
2.下载浏览器驱动下载浏览器驱动(默认使用Google的Chrome浏览器) Chrome:https://sites.google.com/a/chromium.org/chromedriver/downloads FireFox:https://github.com/mozilla/geckodriver/releases 注意:selenium3默认支持的webdriver是Firfox,而Firefox需要安装geckodriver 3.导入相应库函数
3.实例应用1)打开浏览器,在检索框中输入Python并检索。
2)选择器的使用。 ①简单使用,主要通过id、class、css定位。
②xpath操作,通过路径表达式进行全局定位。 XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行查找。 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。 XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似 XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 注意: 下面列出了最有用的路径表达式
示例: 在下面的表格中,我们已列出了一些路径表达式以及表达式的结果
总结(1)优点 优点就是可以帮我们避开一系列复杂的通信流程,例如在我们之前学习的requests模块,那么requests模块在模拟请求的时候是不是需要把素有的通信流程都分析完成后才能通过请求,然后返回响应。假如目标站点有一系列复杂的通信流程,例如的登录时的滑动验证等...那么你使用requests模块的时候是不是就特别麻烦了。不过你也不需要担心,因为网站的反爬策略越高,那么用户的体验效果就越差,所以网站都需要在用户的淫威之下降低安全策略。 再看一点requests请求库能不能执行js?是不是不能呀!那么如果你的网站需要发送ajax请求,异步获取数据渲染到页面上,是不是就需要使用js发送请求了。那浏览器的特点是什么?是不是可以直接访问目标站点,然后获取对方的数据,从而渲染到页面上。那这些就是使用selenium的好处! (2)缺点 使用selenium本质上是驱动浏览器对目标站点发送请求,那浏览器在访问目标站点的时候,是不是都需要把静态资源都加载完毕。html、css、js这些文件是不是都要等待它加载完成。是不是速度特别慢。那用它的坏处就是效率极低!所以我们一般用它来做登录验证。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/14 14:35:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |