Internet Explorer WebDriver无法在机械手框架中启动

时间:2016-01-28 15:15:38

标签: python internet-explorer selenium selenium-webdriver robotframework

我在机器人框架中运行了一些测试,这些测试运行时使用的是firefox和chrome,但不适用于Internet Explorer。我读过其他建议将安全级别设置为受保护的帖子,我这样做了。

但后来我收到以下错误:

WebDriverException: Message: Unexpected error launching Internet Explorer.
Mode must be set to the same value (enabled or disabled) for all zones.

webdriver.py-文件:

DEFAULT_TIMEOUT = 30
DEFAULT_PORT = 0
DEFAULT_HOST = None
DEFAULT_LOG_LEVEL = None
DEFAULT_LOG_FILE = None

class WebDriver(RemoteWebDriver):

    def __init__(self, executable_path='IEDriverServer.exe', capabilities=None,
                 port=DEFAULT_PORT, timeout=DEFAULT_TIMEOUT, host=DEFAULT_HOST,
                 log_level=DEFAULT_LOG_LEVEL, log_file=DEFAULT_LOG_FILE):
        self.port = port
        if self.port == 0:
            self.port = utils.free_port()
        self.host = host
        self.log_level = log_level
        self.log_file = log_file

        self.iedriver = Service(executable_path, port=self.port,
             host=self.host, log_level=self.log_level, log_file=self.log_file)

        self.iedriver.start()

        if capabilities is None:
            capabilities = DesiredCapabilities.INTERNETEXPLORER

        RemoteWebDriver.__init__(
            self,
            command_executor='http://localhost:%d' % self.port,
            desired_capabilities=capabilities)
        self._is_remote = False

    def quit(self):
        RemoteWebDriver.quit(self)
        self.iedriver.stop()

我是否应该更改其他浏览器的安全级别?或者还有其他方法可以解决这个问题吗?提前谢谢!

4 个答案:

答案 0 :(得分:1)

Not able to launch IE browser using Selenium2 (Webdriver) with Java

以上内容应该回答您的问题,您无需更改所有其他浏览器的安全级别。这不仅仅是启用保护模式,这是您的问题,而是您对我想象的不同区域的安全级别有所不同,即互联网/内联网

答案 1 :(得分:0)

我读到我需要IgnoreProtectedModeSettings。

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

caps = DesiredCapabilities.INTERNETEXPLORER
caps['ignoreProtectedModeSettings'] = True

driver = webdriver.Ie(capabilities=caps)

答案 2 :(得分:0)

尝试在IE浏览器的可信站点中添加您的URL。这对我有用。我尝试了我找到的所有选项,但最后将URL添加到可信站点。确保添加正确的URL(我的意思是https / http,无论手动在IE中打开)。希望这会有所帮助。

答案 3 :(得分:0)

请按照以下步骤操作,这可能会解决您的大部分问题。如果您的浏览器具有代理设置,则从步骤1开始,否则您可以从第3步开始

1.我在IE中启用了代理。

2.在启动浏览器之前将环境变量no_proxy设置为127.0.0.1(即在开始执行testcase之前)Ex:设置环境变量no_proxy 127.0.0.1

3.将所有互联网区域设置为相同级别(中等到高)期望受限制的站点打开浏览器>工具> Internet选项>安全选项卡

4.启用所有区域中的“启用保护模式”