3

私はHaskellを初めて使用します(ただし、LYAHを読んだ後です)。セレンWebドライバー(ハッキングのWebドライバーリンク)を使用するにはどうすればよいかわかりません。これらの関数の1つを実行する必要があると確信しています

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について読むべきコード例または指示は、私にとって非常に役立ちます。

4

1 に答える 1

2

リファレンスページにはWD

WebDriverサーバーへのモナディックインターフェイス。このモナドは、IO上の単純で厳密なレイヤーであり、シーケンシャルコマンド間でセッション情報をスレッド化します。

したがって、次のようなことができます。

foo = runWD defaultSession $ do
    liftIO $ putStrLn "Hello WD"
    somethingElse
    ...
于 2012-06-30T17:19:06.343 に答える