iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python selenium系列(一)
  • 572
分享到

python selenium系列(一)

系列pythonselenium 2023-01-31 05:01:00 572人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

一  selenium是什么?引用百度百科的介绍selenium的一段话:“Selenium 是一个用于WEB应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10

一  selenium是什么?

引用百度百科的介绍selenium的一段话:

“Selenium 是一个用于WEB应用程序测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .net、Java、Perl等不同语言的测试脚本”

令人吃惊的是,最后一句支持的语言里竟然没有提到python,哈哈哈。

总之,selenium是用于web自动化测试的工具集,通过驱动浏览器代替人工完成兼容性测试或功能回归测试,支持多浏览器及多语言开发


二  selenium和webdriver啥关系?

WebDriver 和 Selenium 原本是实现web自动化方面的两个独立项目。从Selenium 2 将两者合并,两者关系可以用Selenium 1.0 + WebDriver = Selenium 2.0表示。目前在测试领域,通常所说的selenium实际就是webdriver,而Selenium 1通常指的是Selenium RC。

与1.0相比,webdriver的api被设计的更加简洁、简单,驱动浏览器更加高效,同时解决了1.0中比较难处理的一些应用场景,如文件上传、下载,弹出框处理等。


三  WebDriver的工作原理

讲了selenium和webdriver的关系后,我们学习selenium,实际主要是学习webdriver的api使用方法。但是,在此之前,有必要先了解一下webdriver的工作原理。从网上找了一张图,介绍原理,如下:

111.png

WebDriver的工作原理,简述如下:

1.       webdriver是按照client - server的经典设计模式设计的;

2.       server端就是remote server,脚本启动的浏览器,它的职责就是等待client发送请求并做出相应;

3.       client端就是我们的测试代码,操作命令以Http请求的方式发送给被server端,server接受请求,执行相应操作,并在response中返回执行状态、返回值等信息;


四 selenium环境安装

前面介绍了那么多,终于到本文的正题了,python开发环境如何安装selenium呢?

其实selenium安装很简单,三步走:

          1.       pip install selenium

2.       安装浏览器(chrome)

3.       安装对应浏览器驱动(chrome driver)(下载对应驱动放到Python安装目录即可)

前面也讲了,selenium是支持多浏览器的,后续主要以chrome浏览器为例展开介绍,其他浏览器安装是类似的。
Chrome版本与浏览器驱动版本的关系如下:

444.jpg


五 测试

Selenium安装后,需要测试下是否可以正常工作,只需几条语句:

555.jpg

此时,如何浏览器被打开且自动访问了百度网址,那么安装就正常完成了。

注意:
使用browser.close()关闭浏览器可能遇到报错,该问题已经在selenium GitHub提交issue(#3330),使用文中browser.quit()暂时绕过就可以了。

其他资源:
关于python selenium介绍及环境安装的视频讲解,请参看:http://i.youku.com/weiworld521 第 24 节。

--结束END--

本文标题: python selenium系列(一)

本文链接: https://www.lsjlt.com/news/188075.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python selenium系列(一)
    一  selenium是什么?引用百度百科的介绍selenium的一段话:“Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(三)
    一 前言开展WEB UI自动化的核心思路,无非就是找到元素,然后操作元素这两个内容。在python selenium系列(二)元素定位方式一文中,已经介绍了如何找到元素这项技能,本文将介绍第二项内容,即如何操作已经找到的元素。 二 操作方法...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(四)
    一 前言在前面的selenium系列(二)元素定位方式和selenium系列(三)常用操作类型及方法两节中,已经介绍了web页面元素的识别定位、操作等技术,可能你会觉得掌握这两项技术就可以实施web自动化了,答案基本是这样的,毕竟元素定位和...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(11
    一 前言Selenium系列文章已经基本涵盖了主要的知识点,至于PO模式,发现有篇文章写的挺好的,后续转载分享过来,哈哈。Python Web UI自动化技术就要告一段落了,接下来打算写Django Web开发相关的文章,希望有兴趣的同学可...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(五)
    一 前言提起断言,接触过软件测试相关工种的同学们,一定不会陌生。比如,功能测试/自动化测试判断用例是否通过,靠的就是检查测试结果与预期是否一致;稍微不同的是,功能测试的结果检查是由人工完成的,而自动化测试是通过预先把期望结果写入脚本,并与实...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(二)
    一 前言元素定位,是操作元素的第一步,也是WebUI自动化的难点和核心。 二 元素定位方法selenium提供了内置的方法完成对待操作元素的定位,主要分为8类,其中,每类又可细分为定位单个元素和定位多个元素,另外还提供了2个私有方法。详细如...
    99+
    2023-01-31
    系列 python selenium
  • selenium+python(之一)
    各位好,今天是我第一次写博客,工作了也有一段时间了,今天想分享一些学习到的内容,大家共同学习,共同进步,写的不好的地方,多多待见,比较功底有限。 今天想写一些自动化相关的东西,也算是记录一下学习的历程吧。 环境:python+seleniu...
    99+
    2023-01-31
    selenium python
  • Python 系列(一)- 收藏集 -
    Python 多线程简易入门 - 后端 - 掘金一直懒得写Python相关的文章,恰好有天需要简单的给童鞋们讲点课,仓促之余就诞生了此文. 今天本来准备全面的聊聊有关高性能并发这个话题来着,但是周末马上要来了啊.所以我就取了其中的一点来介...
    99+
    2023-01-31
    收藏 系列 Python
  • Python之函数系列(一)
    每个编程语言中(诸如:Java、C++、C)等都有函数的,Python也不例外函数的主要作用有哪些呢?1、将程序的功能进行模块化,功能模块清晰2、减少重复代码的工作量3、便于阅读及维护、调试等一、函数的结束及返回值# -*- coding:...
    99+
    2023-01-31
    函数 系列 Python
  • python selenium redis队列提高效率
    爬虫架构流程图(基于生产者消费模型)整个程序被解耦成两部分:(先进先出,后进先出)1  数据生产者  页面解析(获取url,title,状态码,图片地址,文本信息等等....) 使用(lpush或rpush,看需求而定)...
    99+
    2023-01-30
    队列 提高效率 python
  • OpenCV-Python系列·第十一集
    自定义卷积核,如3×3、5×5、7×7、9×9、11×11 Tip:卷积核需归一化。 # -*- coding: utf-8 -*- """ Created on Sat Aug 25 14:35:33 2018 @author: M...
    99+
    2023-01-31
    一集 系列 OpenCV
  • python入门系列之一:Centos6
    1)编译安装python2.7[root@mysql-master ~]# python -V Python 2.6.6 查看python的版本信息(之前的yum是通过yum安装的) [root@mysql-master src]# wge...
    99+
    2023-01-31
    入门 系列 python
  • Python学习系列 (第一章):Pyt
    一: Python 的简介:   python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。二:Pyth...
    99+
    2023-01-31
    系列 Python Pyt
  • python + selenium +
    使用python3.6在Ubuntu中进行了一项使用Chrome headless浏览器的工作, 在此记录下遇到的问题以及解决方法. 入门 参考 unning-selenium-with-headless-chrome Ubuntu中如何...
    99+
    2023-01-31
    python selenium
  • Python 性能快速优化: 系列一
    注: 本文的原文地址 quick-python-performance-optimization-part-i Python可能最容易扼杀你的想法,但不是最好的代码实现。尽管强烈反对过早优化,但在 Python 代码中一点点的优化都可...
    99+
    2023-01-31
    性能 快速 系列
  • python第三方库系列之一--json
    认真生活每一天,认真敲好每一行代码,为了未来的小公主,好好学习,天天向上~ 一、先讲讲json的出现,就要先讲讲序列化     1. 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格...
    99+
    2023-01-31
    第三方 系列 python
  • python系列(三)python列表详
    博主QQ:819594300博客地址:http://zpf666.blog.51cto.com/有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!本博文阅读目录:1)len函数//查看列表的个数2)序列[索引号] //查看索引号对应...
    99+
    2023-01-31
    系列 列表 python
  • selenium 2 + python
    在使用selenium 2的时候,经常会碰到打开一个页面后新页面以新窗口打开,因为脱离当前窗口需要重新定位窗口,可以用以下方法定位到需要的窗口。#父窗口是0 browser.switch_to_window(browser.window_h...
    99+
    2023-01-31
    selenium python
  • 《PyCon2018》系列一:Pipen
    前言 俗话说,工欲善其事,必先利其器。我们写代码也是如此。在Python开发过程中,如何管理Python运行环境、package依赖关系是每个开发者都绕不过去的问题。在PyCon2018上,Kenneth Reitz介绍的Pipenv,就...
    99+
    2023-01-30
    系列 Pipen
  • python-selenium Page
    Page Object是一种程序设计模式,将面向过程转变为面向对象(页面对象),将测试对象及单个的测试步骤封装在每个Page对象中,以page为单位进行管理。可以使代码复用,降低维护成本,提高程序可读性和编写效率。#用page object...
    99+
    2023-01-31
    python selenium Page
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作