from selenium import webdriver
import csv
import time
url_results=[]
driver_ie = webdriver.Ie('C:\\Users\\aviv\\Desktop\\IEDriverServer')
with open ('C:\\Users\\aviv\\Desktop\\urlspart.txt','r') as d:
urls= d.read().splitlines()
for i,url in enumerate(urls):
try:
print "URL: " + url
driver_ie.get(url)
time.sleep(7)
current_url_ie = driver_ie.current_url
redirect_ie='No'
if current_url_ie == 'https://www.aviv.com':
redirect_ie ='Yes'
except Exception,e:
redirect_ie = 'error'
print e, Exception
writer.writerow([i,url,redirect_ie])
ofile.close()
此代码抛出异常,并显示消息:“无法获取浏览器”。
我已经更改了互联网选项 - >安全并签署“启用保护模式”, 但错误仍然存在。
任何解决方案?
答案 0 :(得分:0)
仅对于IE 11,您需要在目标计算机上设置一个注册表项,以便驱动程序可以维护与其创建的Internet Explorer实例的连接。
对于32位Windows安装,您必须在注册表编辑器中检查的密钥是
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE
对于64位Windows安装,密钥是
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE
请注意,FEATURE_BFCACHE子项可能存在也可能不存在,如果不存在,则应创建该子项。要点:在此键内,创建名为iexplore.exe的值为0
的DWORD值从http://heliumhq.com/docs/internet_explorer下载注册表文件。
请参阅https://code.google.com/p/selenium/wiki/InternetExplorerDriver了解更多必要的IE配置步骤。
另请参阅:
https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/6511
希望它会对你有所帮助:)。
答案 1 :(得分:0)
可能是因为在驱动程序路径末尾缺少.exe。请添加.exe,如下所示。它可能适合你。
driver_ie = webdriver.Ie('C:\\Users\\aviv\\Desktop\\IEDriverServer.exe')