大家都知道,selenium2对火狐浏览器兼容性比较好,和谷歌和IE相比,好处是无需安装相应的driver.exe来支持启动浏览器,但是缺点是最高支持火狐47版本。

现在selenium3出来了,是不是支持高版本的火狐浏览器了呢,答案是肯定的而且火狐浏览器必须是48或者更高版本,还需要geckodriver来支持。把geckodriver放在path路径下即可。

代码如下:

 #coding=utf-8
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains
browser = webdriver.Firefox()
browser.get("https://www.baidu.com")

个别电脑使用以上代码启动可能报以下错误

解决方法:指定浏览器的路径,具体要看自己浏览器的安装路径

 #coding=utf-8
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary(r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe')
browser = webdriver.Firefox(firefox_binary=binary)
browser.get("https://www.baidu.com")

但是导入ActionChains鼠标操作类执行双击、移动鼠标到元素等事件都报错:

Message: POST /session/7e857f95-4522-4898-abce-384e4ec00ca2/actions did not match a known command

原因这是Mozilla/geckodriver的一个bug,由于geckodriver开发是2016年中旬的,所以只能这对firefox47或者更老的版本使用,如果你要使用selenuym3+firefox,请使用较老版本的firefox。经测试selenium3+Chrome58使用正常,及时现在geckodriver有更新版本,解决了以上的鼠标操作事件问题,还是出现了其他问题,如设置浏览器最大化等等。

python2.7 + selenium3.4.3浏览器的选择的更多相关文章

  1. Selenium3自动化问题一:selenium3在火狐浏览器执行driver.quit()报错2052解决方案

    一:问题说明 最近用到selenium3在火狐浏览器中执行自动化脚本,每次执行到driver.quit()方法总是报错,报错日志如下: 二:解决方案 搜了一圈网上的资料,都说是火狐的问题,于是去到se ...

  2. selenium3 + python 操作浏览器基本方法

    from selenium import webdriverimport time as t # driver = webdriver.Chrome()# driver.get("http: ...

  3. selenium3驱动IE浏览器设置

    前言: 使用selenium3+IE11的方式进行自动化测试 准备工作: 1.ie的驱动:IEDriverServer.exe(对应系统位数) 2.已安装好python3.selenium所需的相关服 ...

  4. 纯javascript代码实现浏览器图片选择预览、旋转、批量上传

    工作中遇到的业务场景,和同事一起研究了下,主要是为了兼容IE版本 其实就是一些琐碎的知识点在网上搜集下解决方式,然后集成了下,主要有以下点: 1. IE input type=file的图片预览要用I ...

  5. 系统中同时有 python2和 python3,怎么让 ipython 选择不同的版本启动?

    已经安装的情况下: > which ipython /usr/local/bin/ipython > cat /usr/local/bin/ipython  #!/usr/local/op ...

  6. selenium3加载浏览器

    浏览器禁用更新: 因为selenium对浏览器的支持是有限制的.当浏览器更新到最新版本时,需要下载支持最新版本的插件.有时候selenium还没有更新到支持最新版本的插件,但本地已经更新到最新版本了. ...

  7. tomcat中浏览器重新选择下.就解决该问题了

  8. selenium3 + Python - 处理浏览器弹窗(转载)

    作者:Real_Tino 转载链接:https://blog.csdn.net/real_tino/article/details/59068827 我们在浏览网页时经常会碰到各种花样的弹窗,在做UI ...

  9. 根据ie浏览器不同的类别选择不同的css

    如果是IE浏览器则选择all-ie-only.css <!--[if IE]> <link rel="stylesheet" type="text/cs ...

随机推荐

  1. 搭建vue开发环境及各种报错处理

    1.安装node.js 参考教程:http://nodejs.cn/download/ 我的是windows 64位系统,以此为例: (1)打开 http://nodejs.cn/download/ ...

  2. ubuntu16.04-x64系统中Jexus web server部署.NetCore和端口分析引发的猜想!

    您有这样的牢骚么? 有一周没更新博客了,简单说下在干什么吧:主要是公司安排对接某旅游大公司的接口,接口数量倒也就10个左右,对接完后还需要加入到业务系统中和App端,因此还是需要花点时间的:时间上来说 ...

  3. redis可视化客户端工具

    TreeNMS是一款redis,Memcache可视化客户端工具,采用JAVA开发,实现基于WEB方式对Redis, Memcached数据库进行管理.维护. 功能包括:NoSQL数据库的展示,库表的 ...

  4. 远程连接mysql 授权方法详解

    今在服务器上 有mysql 数据库,远程访问,不想公布root账户,所以,创建了demo账户,允许demo账户在任何地方都能访问mysql数据库中shandong库. 方案一: 在安装mysql的机器 ...

  5. PHP中对汉字进行UNICODE编码和解码的实现

    <?php /** PHP中对汉字进行UNICODE编码和解码的实现 **/ class Helper_Tool{ //php中的unicode编码转中文 static function uni ...

  6. 12.引入依赖项目的时候,如果找不到jar

    原因是bin没有生成,先clean依赖包,再clean原工程包,就可以了

  7. Python对象类型及其运算

    Python对象类型及其运算 基本要点: 程序中储存的所有数据都是对象(可变对象:值可以修改 不可变对象:值不可修改) 每个对象都有一个身份.一个类型.一个值 例: >>> a1 = ...

  8. 将HTML导出生成word文档

    前言: 项目开发中遇到了需要将HTML页面的内容导出为一个word文档,所以有了这边随笔. 当然,项目开发又时间有点紧迫,第一时间想到的是用插件,所以百度了下.下面就介绍两个导出word文档的方法. ...

  9. 在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序

    前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...

  10. PHP源码阅读strtr

    strtr 转换字符串中特定的字符,但是这个函数使用的方式多种. echo strtr('hello world', 'hw', 'ab'); // 第一种 aello borld echo strt ...