selenium3.0不兼容火狐的解决方案
当直接调用火狐出现不兼容错误时,如何解决?
详看Message中提示:Expected browser binary location,but unable to find binary in default location,大概意思就是说寻找不到binary。
总的结果来说,selenium3.0不支持firefox默认的driver了,但是在selenium2.x版本是可以支持的,这就是差异,
到http://www.assertselenium.com/selenium-3/firefoxdriver-in-selenium-3/地址我们可以获取到我们想要的信息
依据如上的信息,可以看到,selenium3.0在firefox浏览器中提供了GeckDriver,需要使用它,也就是说之前的默认自带的driver在selenium30.已经不能使用了,需要使用GeckDriver,GeckDriver代替了之前的自带默认的driver,这样的好处是每个浏览器都可以自己开发driver,来适配selenium3.0来进行自动化的测试,接着继续往下看,可以看到,提供了GeckDriver的下载地址,见原文
---------------------------------------------------------------------------------------------------------------------
以上为分析废话,具体步骤如下:
①下载GeckDriver https://github.com/mozilla/geckodriver/releases
记住根据自己电脑的环境来下载哦
② 把GeckDriver在该地址下载后,解压得到geckodriver.exe文件,把它加入到环境变量 (如我放在之前设置好的环境变量目录 c:\python35)
③ 接着想使用GeckoDriver ,firefox浏览器必须是48或者更高版本。于是升级firefox,保障浏览器版本在48或者更高
④ 升级后,把binary加入进去,就可以正常的运行了,见执行的源码:
# -*- coding:utf-8 -*- from selenium import webdriver #导入webdriver包
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary #导入friefox webdriver 包
import time #调入time函数 binary = FirefoxBinary("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe") #加入Firefox的路径
driver =webdriver.Firefox(firefox_binary=binary) #### 定义driver 要操控火狐浏览器 webdriver.firefox driver.get("http://www.baidu.com")
time.sleep(0.3) #休眠0.3秒
driver.find_element_by_id("kw").send_keys("selenium")
####一个控件有若干属性id 、name、(也可以用其它方式定位),百度输入框的id 叫kw 我要在输入框里输入 selenium 。
driver.find_element_by_id("su").click()
####搜索的按钮的id 叫su ,我需要点一下按钮( click() )。
time.sleep(3) # 休眠3秒
print(driver.title) # 把页面title 打印出来 当没看到整个脚本执行过程时,看到打印出这句话,就说明页面被正确打开了
driver.quit() #退出并关闭窗口的每一个相关的驱动程序 类似的表弟为 driver.close()
# driver.close() #关闭当前窗口
------------------分析一下------------------------------
1.增加多了一句 from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
2.增加Firefox的路径
3.原来的直接调用driver=webdriver.firefox() 变成了 driver =webdriver.Firefox(firefox_binary=binary)

好了,解决掉以上问题 配置环境调用浏览器问题应该就完全解决了吧。
selenium3.0不兼容火狐的解决方案的更多相关文章
- 1 selenium3.0.1无法打开火狐浏览器
[问题描述] 1.配置selenium3.0和java后,尝试打开火狐浏览器,提示缺少geckodriver驱动. [解决方案] 1.在http://www.seleniumhq.org/downlo ...
- 【基础】火狐和谷歌在Selenium3.0上的启动(二)
参考地址:http://www.cnblogs.com/fnng/p/5932224.html https://github.com/mozilla/geckodriver [火狐浏览器] 火狐浏览器 ...
- css把超出的部分显示为省略号的方法兼容火狐
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- Selenium2+python自动化2-pip降级selenium3.0
selenium版本安装后启动Firefox出现异常:'geckodriver' executable needs to be in PATH selenium默默的升级到了3.0,然而网上的教程都是 ...
- 向上下左右不间断无缝滚动图片的效果(兼容火狐和IE)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js下载base64格式的图片(兼容火狐)
//下载图片 download() { let imgData = 'data:image/png;base64,iVBORw0KGgoAAAANSUh........'; this.download ...
- 1.2 pip降级selenium3.0
1.2 pip降级selenium3.0 selenium版本安装后启动Firefox出现异常:'geckodriver' executable needs to be in PATHselenium ...
- js兼容火狐显示上传图片预览效果
js兼容火狐显示上传图片预览效果[谷歌也适用] <!doctype html> <html> <head> <meta content="text/ ...
- Selenium2学习(一)-pip降级selenium3.0
selenium版本安装后启动Firefox出现异常:'geckodriver' executable needs to be in PATH selenium默默的升级到了3.0,然而网上的教程都是 ...
随机推荐
- bzoj 1396/2865: 识别子串 后缀自动机+线段树
水水的字符串题 ~ #include <map> #include <cstdio> #include <cstring> #include <algorit ...
- Linux操作系统常用命令合集——第四篇-文件系统权限操作(5个命令)
1.umask [命令作用] 文件或目录创建时的遮罩码 [命令语法] umask [选项] [参数] [常用选项] -p --输出的权限掩码可直接作为指令来执行 -s --以符号方式 ...
- Codeforces Round #525 (Div. 2)题解
Codeforces Round #525 (Div. 2)题解 题解 CF1088A [Ehab and another construction problem] 依据题意枚举即可 # inclu ...
- [转]CentOS 7安装Python3.6过程(让linux系统共存Python2和Python3环境)
CentOS 7系统自带了python2,不过可以不用2版本,直接使用python3运行python脚本就可以,但是千万别去动系统自带的python2,因为有程序依赖目前的python2环境,比如yu ...
- Gluon学习03-基础数据类型Ndarray
Gluon学习03-基础数据类型Ndarray 小书匠 kindle 目录,方便快速定位: 1.安装cuda与cudnn 2.安装mxnet-gpu 本机环境介绍: 系统:Linuxmint Pyt ...
- 从零开始实现SSD目标检测(pytorch)(一)
目录 从零开始实现SSD目标检测(pytorch) 第一章 相关概念概述 1.1 检测框表示 1.2 交并比 第二章 基础网络 2.1 基础网络 2.2 附加网络 第三章 先验框设计 3.1 引言 3 ...
- linux桌面发行版简介
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/linux_desktop_distribution linux系 ...
- Spring Cloud Gateway(十):网关过滤器工厂 GatewayFilterFactory
本文基于 spring cloud gateway 2.0.1 1.GatewayFilterFactory 简介 路由过滤器允许以某种方式修改传入的HTTP请求或传出的HTTP响应. 路径过滤器的范 ...
- 物聯網安全黑客松 IoT Security and Privacy Hackathon
感覺這次黑客松的程度屬於初階,但是節奏很快,內容緊湊.概念部分解說較多,以致實驗時間縮短,有些只能看demo有點遺憾.幸好有video-taped,事後回溯可以看看能不能replicate實驗.總體而 ...
- Concurrent初探 --- Atomic 无锁
一.CAS算法 Compare And Swap,CAS算法的过程是这样:它包含3个参数CAS(V,E,N).V表示要更新的变量,E表示预期值,N表示新值.仅当V值等于E值时,才会将V的值设为N,如果 ...