2012-03-11 121 views
0

我執行以下代碼硒的webdriver implicitly_wait導致ClassCastException異常

import selenium 
from selenium import webdriver 
driver = webdriver.Remote(command_executor="http://selenium.server.com:4444/wd/hub", desired_capabilities="webdriver.DesiredCapabilities.FIREFOX") 
driver.implicitly_wait(60) 
driver.get('http://www.google.com') 

但它引起異常

7610 [SocketListener0-1] INFO org.openqa.jetty.jetty.context。/WD - webdriver的遠程服務器:致命,未處理的異常:/session:java.lang.ClassCastException:java.lang.String不能轉換到java.util.Map

7610 [SocketListener0-1] WARN org.openqa。 jetty.jetty.servlet.Ser vletHandler - EXCEPTION javax.servlet.ServletException:java.lang.ClassCastException:java.lang.String不能轉換爲java.util.Map

所致:java.lang.ClassCastException:在org.openqa.selenium.remote.server.handler.NewSession.setJsonParameters java.lang.String中不能轉換到java.util.Map(NewSession.java:57)

完善的日誌可以在這裏找到... http://code.google.com/p/selenium/issues/attachmentText?id=3513&aid=35130000000&name=ClassCastException.log&token=0yyAQKr_QP9Reg1csQTF5kRXfEM%3A1331442979189

我寫它的bug,但如何確保專家在這裏,無論是我缺少一個錯誤或東西。

回答

0

from selenium.webdriver import DesiredCapabilities

driver = webdriver.Remote(command_executor="http://selenium.server.com:4444/wd/hub", desired_capabilities=DesiredCapabilities.FIREFOX)

問題,我前面的代碼是我的desired_capabilities提供的值作爲一個字符串,但它應該是一個合適的字典。一旦我改變它開始工作。

我從賈古瑪下,在硒的用戶該解決方案Google網上論壇。

0

你有奇怪的WebDriver初始化。嘗試WebDriver webdriver = new RemoteWebdriverWebDriver webdriver = new FirefoxDriver()

+0

我想你的初始化方式是使用Java。我的代碼是Python。 – pprakash 2012-03-12 11:48:14