python中的Selenium webdriver - 无法获取浏览器

时间:2017-08-31 09:06:03

标签: python selenium

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()

此代码抛出异常,并显示消息:“无法获取浏览器”。

我已经更改了互联网选项 - >安全并签署“启用保护模式”, 但错误仍然存​​在。

任何解决方案?

2 个答案:

答案 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')