5

我正在尝试使用 Selenium2/Webdriver 创建一个基本的录制工具,我知道 Selenium 已经提供了一个 IDE,但我想构建一个更通用的。

更具体地说,一旦我在 java 中使用 WebDiver API 启动浏览器,我想在当前会话中注册一个侦听器,以便捕获用户与 WebDriver 启动的浏览器的交互。基本上,如果我要用 Java 编写记录用户交互,我该怎么做?与 EventFiringWebDriver 类非常相似,但是当驱动程序启动命令而不是 borwser 会话时,该类会通知侦听器。

例如,假设我使用以下命令启动浏览器:

WebDriver driver = new FirefoxDriver();

现在打开了一个空白的Firefox浏览器,底部显示为红色的WebDriver。现在假设我在这个浏览器中输入 www.google.com 并按下回车键。浏览器将我导航到 google.com。我可以注册一个侦听器来通知我此浏览器会话中发生的事件吗?

我感谢您的帮助。

4

3 回答 3

4

我对听众不熟悉。我知道人们倾向于使用BrowserMob 代理之类的东西来充当中间人来捕获和重放 HTTP 操作。由于 WebDriver 使用 JSON Wire Protocol 运行,我认为这可能更适合您正在寻找的内容。

此外,Simon Stewart(WebDriver 的创建者)详细介绍了 Selenium WebDriver 项目的理念和架构。你可以在这里看到。

干杯,戴夫 H

于 2013-05-30T17:36:30.670 回答
1

确实有一个WebDriverEventListener 。请参阅文档链接。干杯。

于 2014-05-09T23:28:16.727 回答
-1

我有想法。我们使用 selemius 来执行 js 代码。看起来ff.execute_script("alert('hello,selenium')") 你可以像 onclick 或 onmove 一样编辑你想要的 js ......

于 2018-07-30T10:10:01.407 回答