我正在尝试在REPL会话中使用Haskell的Selenium(使用webdriver
包)。为了开始,我运行了以下命令:
startup :: IO ()
startup = do
runSession chromeConfig $ do
openPage "http://www.google.com"
新的 Chrome 浏览器打开后,导航到 Google 页面,并保持打开状态(就像我需要的那样)。现在,我想编写简单的脚本与 Google 页面交互,并从 REPL 运行它们。如何重用已经打开的会话/Chrome 浏览器呢?如果再次使用 runSession,它会打开一个新的浏览器(正如文档中所说)。如果我尝试使用 runWD,它需要一个会话作为第一个参数,但我还没有会话。有一个叫做 sessions 的值:sessions :: WebDriver wd => wd [(SessionId, Capabilities)],但要使用它,我必须在 runWD 中,并且那需要一个会话!而且,它返回一个 SessionID,我看不到任何将其转换为 WDSession 的函数。我一直在打转,任何帮助都将不胜感激。我不确定为什么会这么复杂,是因为 Selenium 还是 Haskell?
runSession
块中编写所有代码的解决方案。 - klozovin