无法使用Liveconnect将Java加载到Firefox 16扩展中

无法使用Liveconnect将Java加载到Firefox 16扩展中,java,firefox,Java,Firefox,在Firefox 16中,根据,不再可以使用全局实例访问java 我已经构建了一个定制的selenium-ide.xpi(http://seleniumhq.org/download/)它加载java并通过我的自定义框架运行。为了访问java,我添加了一个addJava.js文件,该文件包含在selenium-ide-common.xul文件中,使用类似于在中找到的东西调用java,但是这不再有效 我尝试了以下方法来解决此问题: 将以下内容添加到各种.xul文件中,但每次尝试以下内容时,我都会发

在Firefox 16中,根据,不再可以使用全局实例访问java

我已经构建了一个定制的selenium-ide.xpi(http://seleniumhq.org/download/)它加载java并通过我的自定义框架运行。为了访问java,我添加了一个addJava.js文件,该文件包含在selenium-ide-common.xul文件中,使用类似于在中找到的东西调用java,但是这不再有效

我尝试了以下方法来解决此问题:

将以下内容添加到各种.xul文件中,但每次尝试以下内容时,我都会发现appletRef为null:

<div name="appletDiv">
    <embed id ="cipherDocsApplet" type="application/x-java-applet;version=1.6" code="java.applet.Applet"  pluginspage="http://java.com/download/"  MAYSCRIPT="true" width="0" height="0" />  
</div>

var appletRef = document.getElementById("cipherDocsApplet");
window.java = appletRef.Packages.java;
最后我尝试了,将app元素添加到我的主xul文件中,稍后再获取它,但这也给了我同样的错误:“TypetError:app.Packages未定义。”

有人知道如何解决这个问题吗

提前感谢,,
詹姆斯

我觉得你做这件事很难。使用WebDriver(Selenium2框架的一部分),您可以通过加载自定义Firefox配置文件来动态加载Java.xpi扩展

例如:

File file = new File("firebug-1.8.1.xpi");
FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.addExtension(file);
firefoxProfile.setPreference("extensions.firebug.currentVersion", "1.8.1");
WebDriver driver = new FirefoxDriver(firefoxProfile);
你的想法并不典型,因此我怀疑很多人能否回答你的问题

另外,如果Firefox的更高版本禁用了“LiveConnect”功能,那么您有什么理由试图通过javascript注入强制不受支持的浏览器支持该功能

File file = new File("firebug-1.8.1.xpi");
FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.addExtension(file);
firefoxProfile.setPreference("extensions.firebug.currentVersion", "1.8.1");
WebDriver driver = new FirefoxDriver(firefoxProfile);