selenium3+Python+firefox53 兼容问题

selenium3+Python+firefox53 兼容问题,搞了一天,最后发现是被自己坑了。。。。

电脑安装了,Python2.7 跟Python3

pytho2.7下面是selenium2.4.x

Python3下面是selenium3.x

firefox是53

jdk是1.8

因为电脑jdk环境已经是1.8了,selenium3兼容1.8的,selenium2不兼容1.8的,所有我就用selenium3进行脚本编写

根据selenium3启动firefox高级版本的要求,下载了geckodriver.exe插件,并添加到了环境变量path中

编写脚本如下:

#!/usr/bin/env python# -*- coding:utf-8 -*-from selenium import webdriver

driver = webdriver.Firefox()driver.get("http://www.baidu.com")

结果脚本运行错误:

Traceback (most recent call last):
File "G:/pythoncoding/testing/one.py", line 5, in <module>
driver = webdriver.Firefox()
File "D:\biancheng\Python\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 77, in __init__
self.binary, timeout),
File "D:\biancheng\Python\lib\site-packages\selenium\webdriver\firefox\extension_connection.py", line 49, in __init__
self.binary.launch_browser(self.profile)
File "D:\biancheng\Python\lib\site-packages\selenium\webdriver\firefox\firefox_binary.py", line 68, in launch_browser
self._wait_until_connectable()
File "D:\biancheng\Python\lib\site-packages\selenium\webdriver\firefox\firefox_binary.py", line 103, in _wait_until_connectable
raise WebDriverException("Can‘t load the profile. Profile "
selenium.common.exceptions.WebDriverException: Message: Can‘t load the profile. Profile Dir: %s If you specified a log_file in the FirefoxBinary constructor, check it for details.

各种百度,都说升级版本,但我的都是最新版本了,不需要升级,百度不到我想要的,后来我看了pycharm设置,发现,Python版本选了2.7的。。。

Python2.7中selenium是2.4.x,所以运行脚本一直报错

后来把Python版本选到Python3.x ,Python3.x下的selenium是3.0,再次运行脚本,成功。

把自己郁闷了一天的原因竟然是被自己坑了。。。。记录一下,长个教训

时间: 2024-10-13 10:09:49

selenium3+Python+firefox53 兼容问题的相关文章

selenium3 + python - table定位

前言 在web页面中经常会遇到table表格,特别是后台操作页面比较常见.本篇详细讲解table表格如何定位. 一.认识table 1.首先看下table长什么样,如下图,这种网状表格的都是table 2.HTML源码如下: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Table 测试模板</title>

selenium3+python自动化10-基本操作2(单选框、复选框、table定位)

一.前言 本次总结是对之前内容的扩充selenium3+python自动化6-基本操作总结(键盘.鼠标.select下拉框) ,包含单元框和复选框操作.table定位等内容. 二.单选框(radiobox)和复选框(checkbox)操作 1.认识单选框和复选框 html代码如下: <html> <head> <title>单选和复选</title> </head> <body> </form> <h4>单选:

selenium3+python自动化50-环境搭建(firefox)

前言 有不少小伙伴在安装selenium环境后启动firefox报错,因为现在selenium升级到3.0了,跟2.0的版本还有有一点区别的. 安装环境过程中主要会遇到三个坑: 1.'geckodriver' executable needs to be in PATH 2.Expected browser binary location, but unable to find binary in default location 3.Unsupported Marionette protoco

selenium3+python自动化50-环境搭建(firefox)【转载】

前言 有不少小伙伴在安装selenium环境后启动firefox报错,因为现在selenium升级到3.0了,跟2.0的版本还有有一点区别的. 安装环境过程中主要会遇到三个坑: 1.'geckodriver' executable needs to be in PATH 2.Expected browser binary location, but unable to find binary in default location 3.Unsupported Marionette protoco

Selenium3+python自动化(3.7版本)-chrome67环境搭建

前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium3为基础. 一.selenium简介 Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架.它是一款用于运行端到端功能测试的超强工具.您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试. Selenium的发展经历了三个阶段,第一个阶段,也就是selenium1的时代,在运行s

selenium3 + python - xpath定位

什么是xpath呢? 官方介绍:XPath即为XML路径语言,它是一种用来确定XML1(标准通用标记语言3的子集)文档中某部分位置的语言.反正小编看这个介绍是云里雾里的,通俗一点讲就是通过元素的路径来查找到这个元素的,相当于通过定位一个对象的坐标,来找到这个对象. 一.xpath:属性定位 1.xptah也可以通过元素的id.name.class这些属性定位,如下图 2.定位方法如下: from selenium import webdriverdriver = webdriver.Chrome

Selenium3+python自动化013-操作浏览器的Cookie

一.操作浏览器的Cookie 1.1.验证码的处理方式 说明:WebDriver类库中没有对验证码处理的方法,但是在这里可以叙说下针对验证码的几种常用处理方式: 方式:1). 去掉验证码(测试环境下-采用)2). 设置万能验证码(生产环境-采用)3). 验证码识别技术(通过Python-tesseract来识别图片类型验证码:识别率很难达到100%)4). 记录cookie(通过记录cookie进行登录-推荐) 1. 去掉验证码.设置万能验证码:太简单都是开发来完成,我们在这里不做讲解2. 验证

Selenium3+python自动化016-多线程

1.进程 什么是进程? 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在当代面向线程设计的计算机结构中,进程是线程的容器.程序是指令.数据及其组织形式的描述,进程是程序的实体. 程序:例如xxx.py这是程序,是一个静态的 进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元. 2.线程 什么是线程? 线程,有时被称为轻量

selenium3+python自动化5-学习find_elements总结

一.前言 之前学过元素的8中定位方式,都是find_element_by_定位方法,定位的元素返回都是一个值,定位的方法同样适用于find_elemnts,不同的是:这种定位方式返回的值是一个list列表,可以通过索引值的方式,输出具体的元素.书写方式find_elements_by_定位方法. 二.练习内容及目标 1.练习的内容 百度搜索框中输入要搜索的值,本例子中要搜索的值是“python”,点击搜索后,会跳出很多链接,随机点击其中一个链接,进入链接页面. 2.目标 熟悉find_eleme