在web自动化中目前selenium作为底层的自动化测试是目前运用最广的,但是各个公司都会在这个基础之上进行修改。从今天开始我们就慢慢从low代码一步一步的学习框架知识。

  首先当我们测试环境有了之后我们需要做得就是去配置我们的driver,这里的driver你可以理解为就是我们脚本和浏览器之间的桥梁。在selenium里面一些简短的教程会这样写:

#coding=utf-8
from selenium import webdriver
driver = webdriver.Chrome()

 有的人这样写了之后会发现无法运行,直接给出了下面的提示错误:

Traceback (most recent call last):
File "e:xxxxx/blog.py", line 3, in <module>
driver = webdriver.Chrome()
File "D:\python\lib\site-packages\selenium-3.11.0-py3.6.egg\selenium\webdriver\chrome\webdriver.py", line 68, in __init__
self.service.start()
File "D:\python\lib\site-packages\selenium-3.11.0-py3.6.egg\selenium\webdriver\common\service.py", line 83, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

  这是一个很常见的错误,根据提示“'chromedriver' executable needs to be in PATH 我们只需要把chromedriver.exe这个文件的路径添加到环境变量中就可以了,那什么是chromedriver.exe,完全不知道。selenium自动化不是只需要selenium就可以了么?为什么要这个chromedriver?其实在selenium2中默认的是使用firefox的浏览器驱动,selenium2也会自带他的驱动,但是在selenium3之后就不会自带了,那么就需要自己去官网下载,我们这里使用的是谷歌浏览器,那么就需要chromedriver的驱动。好吧去下载。

chromedriver淘宝的下载地址:https://npm.taobao.org/mirrors/chromedriver/ 这里可以自己选择不同的版本。

但是当大家下载了运行又会发现一个问题有时候无法运行,特别是java版本,为什么呢?因为你chromedriver的版本和浏览器版本不对应。这个可以查看每个chromedriver版本更新的日志,及兼容版本。

在上图中我们可以清楚的知道那些版本对应哪个版本浏览器。这个时候我们就轻松解决浏览器启动问题了。

如果我们需要启动不同的浏览器那么只需要使用webdriver调用不同的浏览器方法就可,但是还是需要去下载各自的驱动,启动方法:

#coding=utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver2 = webdriver.Firefox()
driver1 = webdriver.Edge()

这样我们就启动了不同的浏览器。

这个时候只需要我们去写需要打开的网址就可以:

#coding=utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.5itest.cn/register")

最新文章

  1. Scalaz(41)- Free :IO Monad-Free特定版本的FP语法
  2. 光耦PC817
  3. 用CSS截断字符串的两种实用方法
  4. 【HDOJ】1760 A New Tetris Game
  5. NetAnalyzer笔记 之 九 使用C#对HTTP数据还原
  6. Eclipse常用不常用快捷键
  7. 解决 Popup 位置不随窗口移动更新的问题
  8. hbase之认识
  9. BrupSuite渗透测试笔记(十)
  10. centos 6.5 防火墙开放指定端口
  11. Zookeeper客户端Curator使用详解
  12. js-ES6学习笔记-async函数
  13. hdu4965矩阵快速幂
  14. [转]C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解
  15. HTML 5 +CSS3 + 原生js 做(雪花全屏飘落 + 3d旋转图)
  16. Ansible开发之路
  17. 关于学习ios开发的一些笔记
  18. Python——用os模块寻找指定目录(包括子目录)下所有图片文件
  19. 【Node.js】初识Node.js
  20. Android4.4 Telephony流程分析——彩信(MMS)发送过程

热门文章

  1. 【Visual Studio】解决错误 fatal error C1010: unexpected end of file while looking for precompiled head(转)
  2. 基于c语言中调试工具的用法汇总(不包含gdb)【转】
  3. 知乎上的一些文章---leetcode【笔记1】
  4. Selenium2+python自动化1(环境安装)
  5. C# 加载图片image --(C#)Image.FromFile 方法会锁住文件的原因及可能的解决方法
  6. hdu 4530(数学)
  7. Linux和Cisco命令行通用快捷键。
  8. Sprak RDD简单应用
  9. google搜索打不开?提供 国内几个给力的服务器
  10. Web模糊测试工具Powerfuzzer