Python-selenium-Firefox-chrome-IE问题解决方法

来源:互联网 发布:无创dna数据怎么看 编辑:程序博客网 时间:2024/04/29 09:15
Chrome

1.selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path.                
Please download from http://code.google.com/p/selenium/downloads/list               
and read up at http://code.google.com/p/selenium/wiki/ChromeDriver'
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("www.google.com")
提示chrome driver没有放置在正确的路径下,于是下载chrome dirver,然后放置到chrome所在的目录下,再次运行就OK了!

解决方法:

用下面这种方法设环境变量就ok啦:

import os

from selenium import webdriver

chromedriver "C:\Program Files\Google\Chrome\Application\chromedriver.exe"

os.environ["webdriver.chrome.driver"] chromedriver

driver  webdriver.Chrome(chromedriver)

driver.get(http://stackoverflow.com)

driver.quit()

====================

Firefox

2.selenium.common.exceptions.WebDriverException: Message: "Can't load the profile.
原因:selenium的版本过低,不支持相应的Firefox的版本;

解决办法:

下载最新的selenium进行安装;
2.1.--下载selenium 2.33.0 (目前的最新版本)
并解压把整个目录放到C:\Python27\Lib\site-packages 目录下。

2.2.-pip install -U selenium

注释:selenium已是最新,暂时没有解决,该方法待定

网上说卸载firefox最新版本,更换低版本如:24版本,待定

更换电脑,版本python版本27,firefox版本-最新版本39

  driver = webdriver.Firefox()可以使用


import os

from selenium import webdriver

chromedriver = "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"

driver = webdriver.Firefox()

driver.get('http://stackoverflow.com')

driver.quit()

====================

IE

3.
3.1 selenium.common.exceptions.WebDriverException: Message: 'IEDriver executable needs to be available in the path.                
Please download from http://selenium-release.storage.googleapis.com/index.html               
and read up at http://code.google.com/p/selenium/wiki/InternetExplorerDriver'
下载IEDriverServer.exe

解决办法是下载IEDriverServer.exe文件,参照chrome定义环境变量:
import os
from selenium import webdriver
IEDriverServer = "C:\Program Files\Internet Explorer\IEDriverServer.exe"
os.environ["webdriver.ie.driver"] = IEDriverServer
driver =  webdriver.Ie(IEDriverServer)
driver.get("http://stackoverflow.com")
driver.quit()
3.2没有修改IE的保护模式设置导致,通常看到报错信息如下:
selenium.common.exceptions.WebDriverException: Message: 'Unexpected error launching Internet Explorer.
Mode settings are not the same for all zones.
Enable Protected Mode must be set to the same value (enabled or disabled) for all zones.'
解决办法是IE选项设置的安全页中,4个区域的启用保护模式的勾选都去掉(或都勾上)
其他可能的问题有IE的代理服务器设置被打勾了需要去掉勾选,进程里有IEDRIVERSERVER.EXE的进程没有杀掉等等。

IEDriverServer.exe, chromedriver.exe 网上有说:
将 IEDriverServer.exe, chromedriver.exe  放到环境变量path路径的目录里或把他所在的目录加到path环境变量中
该方法待定,试了一下没有成功-待研究




0 0
原创粉丝点击