简介:Selenium中运行需要先配置WebDriver,各主流浏览器安装配置大同小异。

关联攻略:

Selenium分布式运行:SeleniumGrid

Python + Jenkins + Selenium-Grid实现分布式web-ui自动化测试(centos+win10为例)

基本操作:

1、下载安装目标浏览器。
2、查看浏览器版本:设置 - 帮助 / 关于浏览器等
3、下载driver
4、解压driver复制粘贴到配置好的环境变量Python所在目录
5、编写代码调试启动

注意事项:

若找不到对应版本,则使用当前浏览器版本之后的driver。

例如:浏览器版本:99,webdriver只匹配有98,100,则选100进行下载。

Chrome:

https://npm.taobao.org/mirrors/chromedriver/

Edge:

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

Firefox:

https://github.com/mozilla/geckodriver/releases

Opera:

https://github.com/operasoftware/operachromiumdriver/releases

Safari:mac下才能配置

https://www.jianshu.com/p/17b6ea2c0f06

源码:

from common.logger import log
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options as ChromeOps
from selenium.webdriver.firefox.options import Options as FirefoxOpsdef chrome():log.info("启动Chrome浏览器")return webdriver.Chrome()def firefox():log.info("启动Firefox浏览器")return webdriver.Firefox()def edge():log.info("启动Edge浏览器")return webdriver.Edge()def opera():log.info("启动Opera浏览器")return webdriver.Opera()def safari():log.info("启动Safari浏览器")return webdriver.Safari()def chrome_headless():chrome_options = ChromeOps()chrome_options.add_argument('--no-sandbox')  # 解决DevToolsActivePort文件不存在的报错chrome_options.add_argument('--disable-gpu')  # 谷歌文档提到需要加上这个属性来规避bugchrome_options.add_argument('--hide-scrollbars')  # 隐藏滚动条, 应对一些特殊页面chrome_options.add_argument('blink-settings=imagesEnabled=false')  # 不加载图片, 提升速度chrome_options.add_argument('--headless')  # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败log.info("启动Chrome无界面浏览器")return webdriver.Chrome(options=chrome_options)def firefox_headless():options = FirefoxOps()options.add_argument('-headless')log.info("启动Firefox无界面浏览器")return webdriver.Firefox(options=options)def get_browser(browser_type):driver_dict = {"chrome": chrome,"firefox": firefox,"edge": edge,"opera": opera,"chrome_headless": chrome_headless,"firefox_headless": firefox_headless, }return driver_dict[browser_type]()if __name__ == '__main__':url = "http://www.baidu.com"driver_list = ["chrome", "firefox", "edge", "opera", "chrome_headless", "firefox_headless"]for driver in driver_list:browser = get_browser(driver)  # 使用浏览器browser.get(url)title = browser.titleprint("title:", title)browser.quit()

运行结果:

微信公众号:玩转测试开发
欢迎关注,共同进步,谢谢!

Selenium:Chrome、Edge、Firefox、Opera、Safari常用WebDriver下载安装相关推荐

  1. Chrome, Edge, Firefox, Opera 和 Safari:哪个堪称浏览器之最?

    全文共2451字,预计学习时长8分钟 来源:Pexels 自从互联网出现以来,浏览器之争就一直在激烈进行着. 你可能对自己默认的web浏览器习以为常,但其实你有很多选择:性能.功能设置.隐私工具,这些 ...

  2. Chrome/Edge/Firefox浏览器离线安装包下载地址总汇

    Google Chrome谷歌浏览器离完整离线安装包下载地址整理总汇 每次重装系统,都要为安装 Chrome 而烦恼. 虽然现在可以直接从谷歌浏览器官网下载在线安装包进行安装,但是在线安装包安装的版本 ...

  3. [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器...

    [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器 原文:[完美]原生JS获取浏览器版本判 ...

  4. IC卡读卡器web开发,支持IE,Chrome,Firefox,Safari,Opera等主流浏览 器

    IC卡读卡器在web端的应用越来越多,但是早期发布的ocx技术只支持IE浏览器,使用受到了很多的限制.IC卡读卡器云服务的推 出,彻底解决了以上的局限,使得IC卡读卡器不仅可以应用在IE浏览器上,还可 ...

  5. 浏览器专属 CSS Hack:区分 Firefox / Opera / Safari / Internet Explorer

    浏览器专属 CSS Hack:区分 Firefox / Opera / Safari / Internet Explorer CSS Hack 是在标准 CSS 没办法兼容各浏览器显示效果时才会用上的 ...

  6. css 自定义字体 Internet Explorer,Firefox,Opera,Safari

    FROM: https://developer.mozilla.org/ja/CSS/@font-face http://nicewebtype.com/notes/2009/10/30/how-to ...

  7. ubuntu下常用软件下载安装

    ubuntu下常用软件下载安装 1.jdk apt-get install openjdk-8-jdk 检查是否安装成功 java -version 2.mysql 安装 apt-get update ...

  8. 原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari(亲测可用)

    浏览器类型及版本判断在开发中是比较常见的使用场景,之前用var ua = navigator.userAgent.toLowerCase()来判断浏览器的内核,发现chrome和edge浏览器无法区分 ...

  9. JS判断浏览器IE6、IE7、IE8、IE9、IE10、IE11、Chrome、Firefox、Safari、Opera方法,亲测可用

    <script>function myBrowser(){var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串var isOp ...

最新文章

  1. 让服务器接近最终用户能解决性能问题吗?——微云网络
  2. 【程序人生】不想一辈子做底层码农?快来看看这十条箴言
  3. hive数据库numeric_hive中常用的函数
  4. 优化 回归_使用回归优化产品价格
  5. mips语言实现 f(n) = f(n-1) + 2*f(n-2) + 3*f(n-3)
  6. tcp、http协议的长连接和短连接
  7. 一步步实现SDDC--多角色服务器部署
  8. C++数据结构与算法 竞赛树, 二叉搜索树
  9. Himall商城LinqHelper帮助类(3)
  10. MATLAB上根号怎么输入,在matlab中怎么输入特殊符号 matlab或运算符怎么打
  11. Linux系统cp:omitting directory`XXX'问题解决
  12. python 3d图表_matplotlib 三维图表绘制方法简介
  13. Hibernate-初学小结
  14. Android本地视频播放器mediaplay版
  15. buck电路 dac stm32_BUCK转换电路的工作原理
  16. 计算机班内排名公式,巧用Excel数组公式统计各班优秀人数EXCEL基本教程 -电脑资料...
  17. JAMA发表备受期待的22nd Century SPECTRUM(R)极低尼古丁含量香烟III期研究结果
  18. 2020年11月28日天梯赛GPLT总决赛(全部题目 + 189分代码答案)
  19. 【微信小程序】页面导航详解
  20. 看文献写论文好用的一些软件或者网页或者插件

热门文章

  1. 吐血推荐一款相亲小程序
  2. tomcat 性能调优
  3. 爱合迦缘:怎么才能追到自己喜欢的女孩子?教你4招确定恋爱关系!
  4. 托尔斯泰《安娜·卡列尼娜》主要人物
  5. 小谈Bing桌面、Bing助手的现状与发展
  6. 我们花了220万美元买数字艺术品,是不是疯了?
  7. 想转行到IT,心里不定,不知道怎么做?
  8. 【KAWAKO】基于frp和腾讯云服务器的内网穿透
  9. 尚品宫韩式烧烤 无忧致富好项目
  10. 苹果如何查看beats X的电量