2013-12-15 29 views
-1

我有這樣的代碼:HtmlDriver與JavaScript異常

driver = new HtmlUnitDriver(); 
     ((HtmlUnitDriver) driver).setJavascriptEnabled(true); 

     baseUrl = "http://www.url.com/"; 

     driver.get(baseUrl + "/"); 
      ... 

但是,如果我嘗試運行我有這樣的例外:

com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot call method "match" of undefined (http://www.url.com//javascript/jquery.ceebox/jquery.swfobject.js#2) 

我怎樣才能解決呢?有一種方法?

+1

只是檢查這個[問題](http://stackoverflow.com/questions/20315330/how-to-overcame-htmlunit-scriptexception) –

+0

但我不能使用的驅動程序? – FelasDroid

+0

正如我在答案中解釋的那樣,這只是一個無法執行JS的問題。再次閱讀答案 –

回答

0

JavaScript的支持是沒有超出該商標,如果你只是wan't抑制這些錯誤,你可以使用:

webClient.getOptions().setThrowExceptionOnScriptError(false); 

我的通用Web客戶端的配置看起來像下面,在幾乎所有的項目:

WebClient client = new WebClient(BrowserVersion.FIREFOX_17); 
     client.getOptions().setThrowExceptionOnFailingStatusCode(false); 
     client.getOptions().setCssEnabled(false); 
     client.getOptions().setThrowExceptionOnScriptError(false); 
     client.getOptions().setPrintContentOnFailingStatusCode(false); 
+0

但在這種情況下,瀏覽器Firefox啓動與否?..因爲我不想要這個 – FelasDroid

+0

'htmlunit'是一個無頭瀏覽器,Firefox只是爲了設置作爲默認的用戶代理,它不會觸發/啓動Firefox。 –

+0

我使用htmlunit,但我有這個錯誤...我有\t \t driver = new HtmlUnitDriver(); – FelasDroid