当直接调用火狐出现不兼容错误时,如何解决?

详看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. 1 selenium3.0.1无法打开火狐浏览器

    [问题描述] 1.配置selenium3.0和java后,尝试打开火狐浏览器,提示缺少geckodriver驱动. [解决方案] 1.在http://www.seleniumhq.org/downlo ...

  2. 【基础】火狐和谷歌在Selenium3.0上的启动(二)

    参考地址:http://www.cnblogs.com/fnng/p/5932224.html https://github.com/mozilla/geckodriver [火狐浏览器] 火狐浏览器 ...

  3. css把超出的部分显示为省略号的方法兼容火狐

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  4. Selenium2+python自动化2-pip降级selenium3.0

    selenium版本安装后启动Firefox出现异常:'geckodriver' executable needs to be in PATH selenium默默的升级到了3.0,然而网上的教程都是 ...

  5. 向上下左右不间断无缝滚动图片的效果(兼容火狐和IE)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. js下载base64格式的图片(兼容火狐)

    //下载图片 download() { let imgData = 'data:image/png;base64,iVBORw0KGgoAAAANSUh........'; this.download ...

  7. 1.2 pip降级selenium3.0

    1.2 pip降级selenium3.0 selenium版本安装后启动Firefox出现异常:'geckodriver' executable needs to be in PATHselenium ...

  8. js兼容火狐显示上传图片预览效果

    js兼容火狐显示上传图片预览效果[谷歌也适用] <!doctype html> <html> <head> <meta content="text/ ...

  9. Selenium2学习(一)-pip降级selenium3.0

    selenium版本安装后启动Firefox出现异常:'geckodriver' executable needs to be in PATH selenium默默的升级到了3.0,然而网上的教程都是 ...

随机推荐

  1. MongoDB 分片管理(三)服务器管理

    MongoDB 分片管理(三)服务器管理

  2. 差分约束 4416 FFF 团卧底的后宫

    /* 4416 FFF 团卧底的后宫  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 你在某日收到了 FFF ...

  3. 2019-12-11:kali linux工具Msfvenom 命令自动补全

    msfvenom大家都不陌生,在我们使用MSF进行权限维持,内网渗透的时候都会用到,支持的语言的种类很多.大家都知道我们在使用msfvenom 的时候需要手动输入很多参数,这些参数需要记忆,或记在其它 ...

  4. 怎么看部分元素的js代码?

  5. 深入理解WebRTC

    Web Real-Time Communication(Web实时通信,WebRTC)由一组标准.协议和JavaScript API组成,用于实现浏览器之间(端到端)的音频.视频及数据共享. WebR ...

  6. jumpserver 堡垒机环境搭建

    jumpserver 堡垒机环境搭建(图文详解) https://blog.csdn.net/my_bai/article/details/62226474   http://docs.jumpser ...

  7. html 获取地址栏信息

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

  8. js回车键事件

    js回车键事件 一.总结 一句话总结: $("#focus").keypress(function(event){if(event.which === 13) { /*点击回车要执 ...

  9. CRF 初步了解

    国外有一个很著名的条件随机场的教程,是英文的,原文: http://blog.echen.me/2012/01/03/introduction-to-conditional-random-fields ...

  10. ArcGIS 10.5 tensorflow安装日记

    ArcGIS 10.5 tensorflow安装日记 商务科技合作:向日葵,135-4855__4328,xiexiaokui#qq.com Datetime: 2019年5月27日星期一 Os: w ...