【问题标题】:Selenium Python desired capabilities cannot create a new driver instanceSelenium Python 所需的功能无法创建新的驱动程序实例
【发布时间】:2016-05-10 23:49:30
【问题描述】:

我正在尝试在我们的 64 位机器 Windows 2008 上使用 Selenium Python 中的 Desired Capabilities for IE,因为 IEDriverServer.exe 在我使用时在测试中途一直崩溃:

cls.driver = webdriver.Ie(Globals.IEdriver_path)

我想试试 Desired Capabilities,看看这样行不行。

我的设置中有以下内容:

    class BaseTestCase(unittest.TestCase):
    @classmethod
    def setUpClass(cls):

    desired_caps = {}
    desired_caps['platform'] = 'WINDOWS'
    desired_caps['browserName'] = 'INTERNETEXPLORER'
    #cls.driver = webdriver.Remote('http://192.168.1.103:4444/wd/hub', desired_caps)
    cls.driver = webdriver.Remote('http://127.0.0.1:4444/wd/hub', desired_caps)
    cls.driver = webdriver.Ie(Globals.IEdriver_path)
    cls.driver.get(Globals.URL)
    cls.login_page = login.LoginPage(cls.driver)

我运行 Selenium Server jar 文件如下:

    java -Dwebdriver.ie.driver="C:\\IEDriverServer.exe" -jar
selenium-server-standalone-2.53.0.jar

当我运行我的 Selenium Python 测试时,我收到以下错误:

  WebDriverException: Message: The best matching driver provider org.openqa.selenium.ie.InternetExplorerDriver can't create a new driver instance for Capabilities [{browserName=INTERNETEXPLORER, platform=WINDOWS}]
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 17:00:58'
System info: host: 'JUSTIN-PC', ip: '192.168.1.164', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_45'
Driver info: driver.version: unknown
Stacktrace:
    at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance (DefaultDriverFactory.java:62)
    at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call (DefaultSession.java:222)
    at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call (DefaultSession.java:1)
    at java.util.concurrent.FutureTask.run (None:-1)
    at org.openqa.selenium.remote.server.DefaultSession$1.run (DefaultSession.java:176)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (None:-1)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (None:-1)
    at java.lang.Thread.run (None:-1)

如果我使用:

cls.driver = webdriver.Remote('http://192.168.1.103:4444/wd/hub', desired_caps)

然后我会得到以下错误:

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond>

我应该如何在 Selenium Python 中设置 Desired Capabilities?

谢谢,里亚兹

【问题讨论】:

    标签: python-2.7 selenium selenium-webdriver


    【解决方案1】:

    以下是使用 Internet Explorer 启动远程会话的示例:

    from selenium import webdriver
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    
    capabilities = DesiredCapabilities.INTERNETEXPLORER
    capabilities.update({'logLevel' : 'ERROR'})
    remote_server = "http://127.0.0.1:4444/wd/hub"
    
    driver = webdriver.Remote(remote_server, capabilities)
    driver.get('http://stackoverflow.com/')
    

    【讨论】:

    猜你喜欢
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    • 2019-08-10
    • 2011-02-25
    • 1970-01-01
    相关资源
    最近更新 更多