3

我想为webdriver添加一些功能,但由于我根本不懂 Java,所以我想先了解它的工作方式。因此,据我所知,有一个 firefox 插件(javascript),并且有一个 java 代码可以在安装了该扩展程序的情况下启动 firefox,然后这个 java 代码侦听本地端口,当它收到一些命令时,java 将其发送给 firefox 插件,它完成了实际工作。而python代码只是端口接口的一组快捷方式。这对吗?

更新:

感谢您的回复,马拉蒂奥。但是任何人都可以解释一下,为什么当我添加 之后 alert('Hello world!'); 然后 运行FirefoxDriver.prototype.deleteCookie = function(respond, cookieString) {D:\webdriver-read-only\firefox\src\extension\components\firefoxDriver.js

from webdriver_firefox.webdriver import WebDriver

wd = WebDriver()
wd.delete_all_cookies()

我仍然没有看到Hello world!警报(顺便说一句,我得到了一个错误

4

1 回答 1

4

是的,你明白了。Java 服务器使用特殊的 JavaScript 环境控制浏览器,该环境允许服务器对其进行控制。服务器通过 http 监听给它的命令,当它接收到命令时,它会拉取浏览器上的字符串以使其执行操作。webdriver 的 Python API 是构建正确的 http 命令以发送到 webdriver 服务器的代码。Webdriver 可能有也可能没有很好的描述或图表,但 Selenium 的架构非常相似(事实上,Webdriver 和 Selenium 正在相互合并为“Selenium 2”)。这是 Selenium 文档中相同架构的概要:how-selenium-rc-works

替代文字
(来源:openqa.org

于 2009-11-28T21:39:30.163 回答