Selenium3 + Python3自动化测试系列一——安装Python+selenium及selenium3 浏览器驱动
一、安装Python
https://www.python.org/downloads/
验证Python是否安装成功。打开Windows命令提示符(cmd),输入python,回车
注意:在安装的过程中需要勾选:“Add Python 3.x to PATH” , 如果没有勾选,需要在安装完成之后,将Python的安装目录(如:C:\Python36)添加到环境变量PATH下面。
二、安装selenium
1、Pycharm安装selenium
验证selenium是否安装成功
三、selenium3浏览器驱动
下载浏览器驱动
当selenium升级到3.0之后,对不同的浏览器驱动进行了规范。如果想使用selenium驱动不同的浏览器,必须单独下载并设置不同的浏览器驱动。
各浏览器下载地址:
Firefox浏览器驱动:geckodriver
Chrome浏览器驱动:chromedriver , taobao备用地址
IE浏览器驱动:IEDriverServer
Edge浏览器驱动:MicrosoftWebDriver
Opera浏览器驱动:operadriver
PhantomJS浏览器驱动:phantomjs
注:部分浏览器驱动地址需要***。
本文是以Chrome浏览器为例。接下来我们下载并解压chromedriver。
下载chromedriver的注意点:
1.打开chrome 输入 “chrome://version/”来查看chrome版本 如下图所示我的是64版本。
2.访问此网站淘宝备用地址 https://npm.taobao.org/mirrors/chromedriver 或 http://chromedriver.storage.googleapis.com/index.html
然后选择合适版本的driver。查找最新更新版本进入,点击notes.txt就可查看其对应的版本号,http://chromedriver.storage.googleapis.com/2.46/notes.txt
如下图所示:
我的版本是73,选Chrome v71-73。查看可知chromeDriver版本应选v2.46,回到首页选择2.46版本下载
下载成功后,解压chromedriver文件,获取到chromedriver.exe文件。
三、第一个selenium+python程序
上述已成功下载对应的浏览器版本的chromedriver驱动。下面我们就来写第一个selenium+python的程序。我会介绍两种方法供大家参考学习。
方法一:
1、将下载的chromedriver.exe(2.46)放到(复制或移动)至chrome的安装目录下(一般chrome的安装路径如下,C:\Program Files (x86)\Google\Chrome\Application),如下图所示:
2、测试代码如下:
from selenium.webdriver import Chrome import time driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe") driver.get('https://www.baidu.com') print(driver.title) time.sleep(5) driver.quit()
方法二:
1、将下载的chromedriver.exe(2.46)放到(复制或移动)至Python的安装目录下,与python.exe文件相同目录下。查看Python的安装目录(cmd输入命令where python)。如下图所示:
2、测试代码如下:
from selenium import webdriver import time driver = webdriver.Chrome() driver.get('https://www.baidu.com/') print(driver.title) time.sleep(5) driver.quit()
两种方法运行结果一样,运行结果如下图所示:
注:如下载chromedriver版本不对或没有将chromedriver.exe文件拷贝至相应的目录下,则会出现:“selenium.common.exception.WebDriverException:Message:'chromedriver' executable needs to be in Path”报错。
当你运行demo程序,成功出现百度首页时恭喜你并打印出“百度一下,你就知道”,恭喜你,已经成功运行第一个selenium+python测试程序。
Selenium3 + Python3自动化测试系列一——安装Python+selenium及selenium3 浏览器驱动的更多相关文章
- Selenium3 + Python3自动化测试系列十二——窗口截图与关闭浏览器
窗口截图 自动化用例是由程序去执行的,因此有时候打印的错误信息并不十分明确.如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看出出错的原因.WebDriver提供了截图函数g ...
- Selenium3 + Python3自动化测试系列二——selenium元素定位
一.selenium元素定位 Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素 才能进行后续的自动化控制,我在这里将对selenium8种元 ...
- Selenium3 + Python3自动化测试系列六——等待方式
等待 一.等待是什么,为什么要等待 在做自动化测试,设计测试用例的时候,有时下一步的操作会依赖上一步的结果或者内容,上一步操作成功之后才能进行下一步操作等, 这时候,我们就需要使用等待,来判断上一步操 ...
- Selenium3 + Python3自动化测试系列十——调用JavaScript代码
调用JavaScript代码 一.调用JavaScript代码方法 Selenium在对浏览器操作时会有自动化代码中不稳定的部分,经常出错的部分,可以将这部分对网页元素进行操作的代码换成对应的Java ...
- Selenium3 + Python3自动化测试系列五——常用断言Assertion
断言Assertion 验证应用程序的状态是否同所期望的一致. 常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确,或是验证该复选框是否被勾选. selenium 提供了三种模式的断言:a ...
- Selenium3 + Python3自动化测试系列四——鼠标事件和键盘事件
一.鼠标事件 在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供. ActionChains 类提供了鼠标操作的常用方法. ActionChains 类的成 ...
- Selenium3 + Python3自动化测试系列三——控制浏览器操作
控制浏览器操作 控制浏览器窗口大小 在测试过程中,我们在打开浏览器后,根据需求可自定义调整浏览器的尺寸大小.WebDriver提供了set_window_size()方法来设置浏览器的大小. 如果页面 ...
- Selenium3 + Python3自动化测试系列九——cookie操作
cookie操作 一.Cookie操作 WebDriver提供了操作Cookie的相关方法,可以读取.添加和删除cookie信息. 使用方法: 1:get_cookies() ,获取cookie信息 ...
- Selenium3 + Python3自动化测试系列八——警告框处理和下拉框选择
警告框处理 在WebDriver中处理JavaScript所生成的alert.confirm以及prompt十分简单,具体做法是使用 switch_to.alert 方法定位到 alert/confi ...
随机推荐
- App后台Keynote
[App后台Keynote] 一.基础. 1.一个 节省 流量 的 处理 方法 是 让 App 下载 经过 压缩 的 图片( 一般 是 几十 KB 以下), 当 用户 需要 查看 原图 时 才 下载 ...
- Chrome浏览器 调试工具 vue-devtools 的安装和使用
https://www.cnblogs.com/yuqing6/p/7440549.html
- Codeforces Round #449 (Div. 2)
Codeforces Round #449 (Div. 2) https://codeforces.com/contest/897 A #include<bits/stdc++.h> us ...
- IOS Javascript Date的坑
Date对象是JavaScript提供的日期和时间的操作接口,它有多种用法.手册上或者网上也有很多文章介绍,这里就不再次复述了. 上次遇到一个坑,这里总结下,也不是什么大问题,若是如果有经验,就不会花 ...
- Apache Beam是什么?
Apache Beam 的前世今生 1月10日,Apache软件基金会宣布,Apache Beam成功孵化,成为该基金会的一个新的顶级项目,基于Apache V2许可证开源. 2003年,谷歌发布了著 ...
- Minimum Increment to Make Array Unique LT945
Given an array of integers A, a move consists of choosing any A[i], and incrementing it by 1. Return ...
- SpringMVC学习笔记:拦截器和过滤器
首先说明一下二者的区别: 1. 拦截器基于java的反射机制,而过滤器是基于函数回调 2. 拦截器不依赖于servlet容器,过滤器依赖servlet容器 3. 拦截器只能对action请求起作用,而 ...
- docker 技术
利用docker打包一个sshd的服务 准备环境 安装docker 修改主机名与hosts解析 echo '10.0.0.11 docker01' 参考文档:https://m ...
- 顺序队列(C语言)
#define Queue_MAX_SIZE 20 #define OK 1 #define ERROR 0 #include <stdio.h> #include <stdlib. ...
- POI 导出
package com.baoqilai.scp.service; import java.io.File; import java.io.FileOutputStream; import java. ...