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

  1. 下载IEDriverServer。进入索引页,首先选择版本号,IEDriverServer的版本号和Selenium的版本号一定要一致,因为我选择的是selenium-3.30,所以IEDriverServer也选择的是3.30版本的。打开后的页面如下所示: 
    [Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置_保护模式
     
  2. 解压缩得到IEDriverServer.exe,放在IE浏览器的安装目录且同级目录下,并将其所在目录添加到环境变量
  3. [Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置_版本号_02 
  4. [Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置_元素定位_03 
  5. 针对windows vista和windows 7上的IE7或者更高的版本,必须在IE选项设置的安全页中,4个区域的启用保护模式的勾选都去掉(或都勾上),即保持四个区域的保护模式是一致的。如下图所示: 
    [Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置_保护模式_04
  6. 针对IE10和更高的版本,必须在IE选项设置中的高级页中,取消增强保护模式。如下图所示: 
    [Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置_保护模式_05
  7. 浏览器的缩放比例必须设置为100%,这样元素定位才不会出现问题,如下图所示: 
    [Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置_microsoft_06
  8. 针对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位的,修改后的注册表如下图所示: 

[Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置_保护模式_07

  需要注意的是,修改注册表之后要重启机器,之后Selenium就可以正常打开ie浏览器。

 

  如果浏览器还是不正常,要进行如下设置:

  [Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置_元素定位_08

  [Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置_版本号_09

  改为:

  [Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置_版本号_10

  另外需要注意的时,如果进行上述设置后,下面的

  [Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置_元素定位_11

  要重新设置一致,要么都选择,要都不选择。