一、安装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 浏览器驱动的更多相关文章

  1. Selenium3 + Python3自动化测试系列十二——窗口截图与关闭浏览器

    窗口截图 自动化用例是由程序去执行的,因此有时候打印的错误信息并不十分明确.如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看出出错的原因.WebDriver提供了截图函数g ...

  2. Selenium3 + Python3自动化测试系列二——selenium元素定位

    一.selenium元素定位 Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素 才能进行后续的自动化控制,我在这里将对selenium8种元 ...

  3. Selenium3 + Python3自动化测试系列六——等待方式

    等待 一.等待是什么,为什么要等待 在做自动化测试,设计测试用例的时候,有时下一步的操作会依赖上一步的结果或者内容,上一步操作成功之后才能进行下一步操作等, 这时候,我们就需要使用等待,来判断上一步操 ...

  4. Selenium3 + Python3自动化测试系列十——调用JavaScript代码

    调用JavaScript代码 一.调用JavaScript代码方法 Selenium在对浏览器操作时会有自动化代码中不稳定的部分,经常出错的部分,可以将这部分对网页元素进行操作的代码换成对应的Java ...

  5. Selenium3 + Python3自动化测试系列五——常用断言Assertion

    断言Assertion 验证应用程序的状态是否同所期望的一致. 常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确,或是验证该复选框是否被勾选. selenium 提供了三种模式的断言:a ...

  6. Selenium3 + Python3自动化测试系列四——鼠标事件和键盘事件

    一.鼠标事件 在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供. ActionChains 类提供了鼠标操作的常用方法. ActionChains 类的成 ...

  7. Selenium3 + Python3自动化测试系列三——控制浏览器操作

    控制浏览器操作 控制浏览器窗口大小 在测试过程中,我们在打开浏览器后,根据需求可自定义调整浏览器的尺寸大小.WebDriver提供了set_window_size()方法来设置浏览器的大小. 如果页面 ...

  8. Selenium3 + Python3自动化测试系列九——cookie操作

    cookie操作 一.Cookie操作 WebDriver提供了操作Cookie的相关方法,可以读取.添加和删除cookie信息. 使用方法: 1:get_cookies() ,获取cookie信息 ...

  9. Selenium3 + Python3自动化测试系列八——警告框处理和下拉框选择

    警告框处理 在WebDriver中处理JavaScript所生成的alert.confirm以及prompt十分简单,具体做法是使用 switch_to.alert 方法定位到 alert/confi ...

随机推荐

  1. day37 异步回调和协程

    异步回调 """ 异步任务使用场景 爬虫 1.从目标站点下载网页数据 本质就是HTML格式字符串 2.用re从字符串中提取出你需要的数据 ""&quo ...

  2. C程序的编译与链接

    编译器驱动程序 编译器驱动程序可以在用户需要时调用语言预处理器.编译器.汇编器和链接器. 例如使用GNU编译系统,我们需要使用如下命令来调用GCC驱动程序: gcc -o main main.c 编译 ...

  3. CentOS7使用ZFS文件系统

    默认情况下,CentOS7并没有含ZFS支持的文件和,需要进行更新和安装第三方库. Step 1:安装第三方库和更新系统 [root@localhost ~]# rpm -Uvh http://www ...

  4. unknow Unknown type name 'NSString'

    转载:geweb 今天看到个问题,编辑工程提示Unknown type name 'NSString',如下图 导致出现异常的原因是是因为工程中添加了ZipArchive(第三方开源解压缩库) 一般情 ...

  5. [leetcode]25. Reverse Nodes in k-Group每k个节点反转一下

    Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. k  ...

  6. 在python学习时间过程中,你会不断发现需要解决的问题,更多需要连接未知,这时候到哪里去查阅资料呢?

    1.safari online book https://www.safaribooksonline.com 知乎上有人问,送程序员什么礼物好,其中一个答案就是safari online.编程的英文书 ...

  7. tar --exclude排除指定目录打包

    ----before-upgrade./ --exclude=apache-tomcat-/logs --exclude=apache-tomcat-/work 注意,--exclude后面跟路径名称 ...

  8. (转)经验分享:CSS浮动(float,clear)通俗讲解

    文章转自:https://www.cnblogs.com/iyangyuan/archive/2013/03/27/2983813.html 很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身 ...

  9. Linux 下编译 有多个子程序文件的Fortran程序

    第一种方法 ifort -o outprogram Source1.f90 Source2.f90 第二种 在主程序中include 'Source2.f90' program main call p ...

  10. HOOK NTFS 禁止格式化

    if(bHooked == FALSE) { RtlInitUnicodeString (&HookDriverName, L"\\FileSystem\\Ntfs"); ...