python2.7 + selenium3.4.3浏览器的选择

 

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

如今selenium3出来了,是否是支持高版本的火狐浏览器了呢,答案是确定的并且火狐浏览器必须是48或者更高版本,还须要geckodriver来支持。把geckodriver放在path路径下便可。浏览器

代码以下:session

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

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

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

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

 

 

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

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

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

相关文章
相关标签/搜索