python+Selenium用ie打不开浏览器解决办法

论是selenium2(WebDriver)还是selenium2Library,如果想要调用ie浏览器,均需以下步骤。

采用代理上网时,python+Selenium用ie打不开浏览器

一、解决方案

  1. 下载IEDriverServer。进入索引页,首先选择版本号,IEDriverServer的版本号和Selenium的版本号一定要一致,因为我选择的是selenium-2.53,所以IEDriverServer也选择的是2.53版本的。打开后的页面如下所示: 
    这里写图片描述

  2. 解压缩得到IEDriverServer.exe,并将其所在目录添加到环境变量

  3. 针对windows vista和windows 7上的IE7或者更高的版本,必须在IE选项设置的安全页中,4个区域的启用保护模式的勾选都去掉(或都勾上),即保持四个区域的保护模式是一致的。如下图所示: 
    这里写图片描述

  4. 针对IE10和更高的版本,必须在IE选项设置中的高级页中,取消增强保护模式。如下图所示: 
    这里写图片描述

  5. 浏览器的缩放比例必须设置为100%,这样元素定位才不会出现问题,如下图所示: 
    这里写图片描述

  6. 针对IE11,需要修改注册表。如果是32位的windows,key值为

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet 
Explorer\Main\FeatureControl\FEATURE_BFCACHE

,如果是64位的windows,key值为

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet 
Explorer\Main\FeatureControl\FEATURE_BFCACHE

如果key值不存在,就添加。之后在key内部创建一个iexplorer.exe,DWORD类型,值为0,我的windows是64位的,修改后的注册表如下图所示: 
这里写图片描述

之后Selenium就可以正常打开ie浏览器。

 

 

二、我这也做了也打不开,然后这样打开了

  

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

#create capabilities
capabilities = DesiredCapabilities.INTERNETEXPLORER

#delete platform and version keys
capabilities.pop("platform", None)
capabilities.pop("version", None)

#start an instance of IE
driver = webdriver.Ie(executable_path="C:\\Program Files\\Internet Explorer\\IEDriverServer.exe", capabilities=capabilities)

driver.get("http://www.baidu.com")
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值