Python中selenium调用IE浏览器无效且无反应的原因是什么?
selenium 调用 ie 无效是为什么?
代码是这样的
驱动是这里的: http://download.csdn.net/download/u012720226/8253299
#coding=utf-8
from selenium import webdriver
driver=webdriver.Ie()
url=‘http://www.baidu.com’
driver.get(url)
driver.close()
Python中selenium调用IE浏览器无效且无反应的原因是什么?
8 回复
那个 driver 我搞了一个外链,
http://7xpvdr.com1.z0.glb.clouddn.com/IEDriverServer.exe
遇到Selenium调用IE没反应,八成是驱动配置问题。IE驱动需要严格匹配系统环境,先检查这三点:
-
驱动版本必须完全匹配IE浏览器版本
去官方下载页下载对应版本的IEDriverServer。比如IE11就用32位驱动(即使系统是64位)。 -
代码里必须显式设置保护模式
IE的坑在于各zone的保护模式设置必须一致。最省事的办法是在代码里强制统一:
from selenium import webdriver
options = webdriver.IeOptions()
options.ignore_protected_mode_settings = True # 关键设置!
options.ignore_zoom_level = True
driver = webdriver.Ie(
executable_path=r'C:\IEDriverServer.exe', # 你的驱动路径
options=options
)
driver.get("http://www.baidu.com")
- 系统设置要调整
- 关掉IE增强安全配置(服务器系统常见)
- 注册表加个键值:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE下新建DWORD值iexplore.exe=0
如果还不行,在代码开头加这两行看详细报错:
import logging
logging.basicConfig(level=logging.DEBUG)
总结:IE驱动就是矫情,版本和设置必须完全匹配。
修改了 但是还是启动不起来
本机 host 有没有 locahost 127.0.0.1
路径问题?
有报错吗?弹出了驱动程序的那个黑框吗?
可以把 IEDriverServer.exe 放在 c:\windows\system32 目录下,这样就不用改 Path 了

