我最近在学习selenium2的时候,碰到的第一个问题就是如何安装浏览器驱动?为什么我创建了一个浏览器实例,driver.get(url)时,却打不开浏览器,或者就算打开了无法输入相应的URL,这是为什么呢?
首先,webdriver支持Firefox、IE、chrome等浏览器。
(1)Firefox浏览器不用安装驱动,但是需要注意一点,有可能会出现webdriver对新版本 不支持或支持不好的情况,如果使用webdriver驱动FF时出现意想不到的问题,可以尝试降低FF的版本试试。我用的版本是47.0.1,尝试过48.0和49.0的都不可以,打开浏览器后无法输入URL;
代码为:driver = webdriver.Firefox()
(2)Chrome浏览器则需要安装驱动:下载chromedriver.exe之后,将其解压放在chrome浏览器的安装目录下,我的路径是C:\Users\Dandi\AppData\Local\Google\Chrome\Application
,然后把这个地址配置在环境变量里面(我尝试过把这个浏览器驱动放在其他路径,只需要把这个路径配置在环境变量里面就可以)。如图所示,这样之后只需在程序里将代码改为:
driver = webdriver.Chrome()
(3)IE浏览器安装驱动:下载IEDriverServer.exe之后,将其解压也是放在IE的安装目录下,这个时候你可能会发现IE的安装目录有两个:C:\Program Files\Internet Explorer和C:\Program Files (x86)\Internet Explorer,C:\Program Files下面是放的64位的,C:\Program Files(x86)下面是32位的,我的电脑是64位的,故我将下载好的IEDriverServer.exe放在了C:\Program Files\Internet Explorer下面,然后同(2)里面一样,配置环境变量,如图所示,这样之后只需在程序里将代码改为:driver = webdriver.Ie()
这时候你运行代码可能还会发现报错或者无法打开IE浏览器等问题,这个时候需要更改一下IE的设置,打开IE设置-->Internet选项-->安全,把四个选项的保护模式全部关闭掉(必须全部关闭),然后再运行代码,你会发现成功了!
备注:
(1)安装浏览器驱动的过程中会配置环境变量,是为了可以成功的找到这个位置,如果不配置的话可以在代码中增加这样的代码:
chrome的:
chrome_driver="C:\Users\Dandi\AppData\Local\Google\Chrome\Application\chromedriver.exe"
driver = webdriver.Chrome(chrome_driver)
IE的:
ie_driver="C:\ProgramFiles\InternetExplorer\IEDriverServer.exe"
driver = webdriver.Ie(ie_driver)
(2)我的浏览器版本分别是:IE10和chrome 52.0.2743.116 m (64-bit)
(3)浏览器驱动分别为:链接:http://pan.baidu.com/s/1kVK1mwJ 密码:hzv2
(4)火狐安装包47.0.1
链接:http://pan.baidu.com/s/1qXUqimw 密码:o7zq