2012-06-30 77 views
3

我是哈斯克爾的新人(儘管我是在閱讀LYAH之後)。 我不知道我該如何使用硒webdriver(webdriver link on hackage)。 我敢肯定,我應該運行這些功能如何使用runSession:haskell selenium webdriver中的Test.WebDriver?

runWD :: WDSession -> WD a -> IO aSource 
runSession :: WDSession -> Capabilities -> WD a -> IO aSource 
withSession :: WDSession -> WD a -> WD aSource 

之一,但我不明白如何得到這個WD結構是定義爲:

WD (StateT WDSession IO a) 
Instances: 
Monad WD  
Functor WD 
Applicative WD 
MonadCatchIO WD 
MonadIO WD 
WebDriver WD  
SessionState WD 
MonadBase IO WD 
MonadBaseControl IO WD 

我不知道也什麼這個WD結構的目的是什麼?

代碼示例或指示我應該瞭解Haskell以瞭解這裏發生了什麼,這對我非常有用。

回答

2

參考頁說,WD

一個單子接口與服務器的webdriver。這個單子是在IO簡單, 嚴格層,線程連續 命令

之間的會話信息,所以你可以做這樣的事情:

foo = runWD defaultSession $ do 
    liftIO $ putStrLn "Hello WD" 
    somethingElse 
    ... 
+0

非常感謝。這非常有幫助。 這裏是代碼片段用於打印堆棧溢出的標題: '進口Test.WebDriver 主要= runSession defaultSession defaultCaps $做 \t openPage 「http://stackoverflow.com」 \t getTitle' 我還是不要不完全理解它是什麼意思「層」,但我會離開它,直到明天;) – panurg

相關問題