"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
中描述的必需配置
现在可以使用了!哈哈:)
我正在尝试使用 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
中描述的必需配置现在可以使用了!哈哈:)