【Python】selenium调用IE11浏览器,报错“找不到元素”NoSuchWindowException: Message:Unable to find element on closed w...

当编写自动化脚本,定位浏览器元素时,报如下错误:

代码:

>>> # coding=utf-8
>>> from selenium import webdriver
>>> driver = webdriver.Ie()
>>> driver.get("www.baidu.com")
>>> driver.find_element_by_id("kw").send_keys("Selenium2")

报错:

 

解决方法:

For IE 11 only, you will need to set a registry entry on the target computer so that the driver can maintain a connection to the instance of Internet Explorer it creates. (这段告诉你需要修改注册表。)

For 32-bit Windows installations, the key you must examine in the registry editor is HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE. 32bit Windows看这里。)

For 64-bit Windows installations, the key is HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE. Please note that the FEATURE_BFCACHE subkey may or may not be present, and should be created if it is not present. Important: Inside this key, create a DWORD value named iexplore.exe with the value of 0.64bit Windows看这里。)

翻译过来的意思即,修改你的注册表(Run->regedit->Enter),路径如下:

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

如果FeatureControl下没有FEATURE_BFCACHE,就以FEATURE_BFCACHE为名new一个key!并在其下创建一个DWORD,取名为:iexplore.exevalue0

 

 修改完你的注册表后,重启你的计算机。

【参照】:http://blog.csdn.net/angel_xiaa/article/details/52212340

 

但是发现我再定位元素时候还是报错,我就怀疑是不是Selenium版本问题,因为我安装的是Selenium3.X的版本,然后我运行cmd把3.X卸载重新安装2.X版本就好了。

卸载命令:pip uninstall selenium //卸载当前安装的包

安装命令:pip install selenium==2.48.0 //指定版本号安装

查看命令:pip show selenium //查看当前包的版本信息

 

=============注意:如果使用的IE浏览器还是报错,请参考下面网址解决=================

地址:http://www.cnblogs.com/testervic/articles/6705159.html

转载于:https://www.cnblogs.com/Owen-ET/p/6895611.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值