"Command line server for ie driver has stopped working" 和 "This is the initial start page for the WebDriver server" 错误

"Command line server for ie driver has stopped working" and "This is the initial start page for the WebDriver server" errors

我正在尝试使用 Selenium Webdriver 测试一个只能在 Internet Explorer 8 中运行的系统。

我已经下载了最新版本的 IE webdriver 和一个旧版本,但它们都无法正常工作。我在 'Internet Options' 上设置了安全配置,就像我已经在这里阅读的一些答案和系统变量一样。

我使用 www.google.com 等一些简单的 URL 进行了测试,以了解我的系统是否存在问题,但仍然出现相同的错误。

我正在 Python 中编写脚本,下面有一个示例:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
from selenium.webdriver.common.action_chains import ActionChains
import unittest, time, re

class testAccess(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Ie("C:\PythonXX\Drivers\IEDriverServer.exe")
        self.driver.implicitly_wait(30)
        self.driver.maximize_window()
        # URL
        self.base_url = "http://www.google.com"
        self.verificationErrors = []
        self.accept_next_alert = True

    def test_Logon(self):
        driver = self.driver
        driver.get(self.base_url + "/")
        time.sleep(3)

        driver.find_element_by_id("username").send_keys("username")

        driver.find_element_by_id("password").send_keys("password")

        driver.find_element_by_id("logIn").click()
        time.sleep(5)

    def is_element_present(self, how, what):
        try: self.driver.find_element(by=how, value=what)
        except NoSuchElementException as e: return False
        return True

    def is_alert_present(self):
        try: self.driver.switch_to_alert()
        except NoAlertPresentException as e: return False
        return True

    def close_alert_and_get_its_text(self):
        try:
            alert = self.driver.switch_to_alert()
            alert_text = alert.text
            if self.accept_next_alert:
                alert.accept()
            else:
                alert.dismiss()
            return alert_text
        finally: self.accept_next_alert = True

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()

当我执行此脚本时,IE 打开并 return 消息 "This is the initial start page for the WebDriver server."。执行脚本时打开的控制台崩溃并且 return 出现错误:"Command line server for ie driver has stopped working".

Selenium 文档听起来很清楚网络驱动程序的使用,但没有解释旧版 Internet Explorer 中的使用。我不知道我到底做错了什么,我已经阅读了很多答案,但仍然没有帮助。

哦对了!我解决了在 http://selenium-release.storage.googleapis.com/index.html.

下载第一个版本的 IEDriverServer (2.39)

除此之外,我进行了 https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver

中描述的必需配置

现在可以使用了!哈哈:)