Python学习--Selenium模块简单介绍(1)
简介及运行流程
Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
程序脚本可以通过Selenium API来控制脚本
官网:https://www.seleniumhq.org/

运行原理:

通过Selenium API(上层统一控制浏览器API),控制IE/Chrome驱动(底层实现)来实现访问浏览器
Selenium环境搭建
0. 安装selenium:进入安装Python的Script目录下,执行
pip3 install selenium

当现实Successfully,表示安装成功

1. 确定自己的Chrome浏览器的内核信息 [设置-> 关于Chrome]

2. 下载对应的浏览器驱动
在selenium官网,点击download也可以看到下面的驱动链接
- chrome 驱动下载地址:[https://sites.google.com/a/chromium.org/chromedriver/]
- 国内淘宝镜像:[http://npm.taobao.org/mirrors/chromedriver/]


如图表示:该驱动可以支持Chrome v70-72版本(对应我们上面浏览器的Chrome 71)
测试Demo
通过驱动创建浏览器对象的方法
1. 通过手动指定浏览器驱动路径
2. 通过 `$PATH`环境变量找寻浏览器驱动 (复制文件到环境变量的路径下,建议放到Python的环境变量下)
# coding: utf-8
# 这里是第一种,需要提前复制驱动文件到当前项目中
import time
# 1. 导入模块
from selenium import webdriver # 2. 创建浏览器对象,
browser = webdriver.Chrome() # 参数驱动路径,默认参数也是当前路径的chromedriver驱动 # 3. 输入网址
browser.get("https://www.baidu.com/") # 4. 找到输入框,输入关键词
input_element = browser.find_element_by_id('kw')
input_element.send_keys("博客园") # 查询博客园
# 5. 找到“百度一下”的按钮,点击一下按钮
button = browser.find_element_by_id('su')
button.click()
time.sleep(3) # 让网页加载完成
# 6. 找到博客园链接
url_element = browser.find_element_by_class_name("favurl")
url_element.click()
# 退出浏览器
time.sleep(5)
browser.quit()
通过F12来调试代码,寻找元素


偶遇到报错:查找元素报错,因为网页还没有完全加载出来吗,所有需要等待网页加载完成后再继续查找原始

Python学习--Selenium模块简单介绍(1)的更多相关文章
- Python学习--Selenium模块学习(2)
Selenium的基本操作 获取浏览器驱动寻找方式 1. 通过手动指定浏览器驱动路径2. 通过 `$PATH`环境变量找寻浏览器驱动 可参考Python学习--Selenium模块简单介绍(1) 控制 ...
- Python学习--Selenium模块
1. Python学习--Selenium模块介绍(1) 2.Python学习--Selenium模块学习(2) 其他: 1. Python学习--打码平台
- 【Python】operator 模块简单介绍
简单介绍几个常用的函数,其他的请参考文档. operator.concat(a, b) **operator.__concat__(a, b)** 对于 a.b序列,返回 a + b(列表合并) -- ...
- Python+selenium之简单介绍unittest单元测试框架
Python+selenium之简单介绍unittest单元测试框架 一.unittest简单介绍 unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是 ...
- python爬虫:爬虫的简单介绍及requests模块的简单使用
python爬虫:爬虫的简单介绍及requests模块的简单使用 一点点的建议: (学习爬虫前建议先去了解一下前端的知识,不要求很熟悉,差不多入门即可学习爬虫,如果有不了解的,我也会补充个一些小知识. ...
- python shutil模块简单介绍
python shutil模块简单介绍 简介 shutil模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作. shutil 模块方法: copy(src, ...
- python+selenium之简单介绍继承
python+selenium之简单介绍继承 一.此例简单的介绍一下继承 1.面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制.继承完全可以理解成类之间的类型和子类型 ...
- Python常用的库简单介绍一下
Python常用的库简单介绍一下fuzzywuzzy ,字符串模糊匹配. esmre ,正则表达式的加速器. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable ...
- python学习第二讲,pythonIDE介绍以及配置使用
目录 python学习第二讲,pythonIDE介绍以及配置使用 一丶集成开发环境IDE简介,以及配置 1.简介 2.PyCharm 介绍 3.pycharm 的安装 二丶IDE 开发Python,以 ...
随机推荐
- Java中的八大基本数据类型
Java中的基本类型主要包括整数.浮点数.字符和布尔类型. 整数: 整数类型主要包括byte.short.int.long四种类型,所占大小分别为1byte.2byte.4byte和8byte: 浮点 ...
- B 树、B+ 树、B* 树
B 树.B+ 树.B* 树 作者:July.weedge.Frankie.编程艺术室出品. 说明:本文从B树开始谈起,然后论述B+树.B*树,最后谈到R 树.其中B树.B+树及B*树部分由weedge ...
- 装饰器(Decorator)模式
1 装饰模式能够实现动态的为对象添加功能,是从一个对象外部来给对象添加功能.通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生对应的子类来扩展,抑或是使用对象组合的方式.显然,直接修改对应 ...
- java的构造方法链
转自:http://blog.csdn.net/Mr_KkTian/article/details/70226561 1.简介 构造一个类的实例时, 将会调用沿着继承链的所有父类的构造方法. 当构造一 ...
- 常见的加密解密算法-MD5
一.MD5加密概述 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 13 ...
- Linux 下面解压.tar.gz 和.gz文件解压的方式
Linux 下面解压.tar.gz 和.gz文件解压的方式 两种解压方式 1 .tar.gz 使用tar命令进行解压 tar -zxvf java.tar.gz 解压到指定的文件夹 tar -zxvf ...
- .5-浅析webpack源码之入口函数
从convert-argv出来后,目前进度在这: yargs.parse(process.argv.slice(2), (err, argv, output) => { // ... // 从这 ...
- 未能找到类型或命名空间名List
解决方法添加引用using System.Collections.Generic;
- js 中格式化时间
在js中常常要求对时间的输出格式进行格式化,比如 2017-01-01 10:10,比较麻烦的是月,日,小时,分.它们的格式一般要求两位,如果小于10的话需要在前边补0,当然这算不上什么问题,可以通过 ...
- 微信小程序开发资料汇总
>> 微信小程序开发工具下载 社区推荐: >>蜂鸟-微信小程序开发者社区>> 很快-微信小程序开发者社区 博文推荐: >> 微信小程序开源Demo精选& ...