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 回复

遇到Selenium调用IE没反应,八成是驱动配置问题。IE驱动需要严格匹配系统环境,先检查这三点:

  1. 驱动版本必须完全匹配IE浏览器版本
    官方下载页下载对应版本的IEDriverServer。比如IE11就用32位驱动(即使系统是64位)。

  2. 代码里必须显式设置保护模式
    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")
  1. 系统设置要调整
    • 关掉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 了

回到顶部