Java RemoteWebDriver:如何获取更新的配置文件

Java RemoteWebDriver:如何获取更新的配置文件,java,selenium,selenium-webdriver,remotewebdriver,Java,Selenium,Selenium Webdriver,Remotewebdriver,有一种方法可以将本地配置文件传递给远程驱动程序: FirefoxProfile p = new FirefoxProfile(); DesiredCapabilities capability = DesiredCapabilities.firefox(); capability.setCapability(FirefoxDriver.PROFILE, p); URL remote = null; try { remote = new U

有一种方法可以将本地配置文件传递给远程驱动程序:

    FirefoxProfile p = new FirefoxProfile();
    DesiredCapabilities capability = DesiredCapabilities.firefox();
    capability.setCapability(FirefoxDriver.PROFILE, p); 
    URL remote = null;
    try {
        remote = new URL("http://x.x.x.x:4444/wd/hub");
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
    RemoteWebDriver driver = new RemoteWebDriver(remote, capability);
会话完成后,我在x.x.x.x上看到类似“匿名29264165377184265625WebDriver配置文件”的文件夹,其中包含更新的配置文件以及新的cookie、历史记录、本地存储等


有一个方法p.toJson(),但它返回本地概要文件。问题是如何在x.x.x.x上获取“匿名29264165377184265625WebDriver配置文件”的内容?

一旦执行完成/JVM存在,在Temp中创建的匿名文件夹通常将不再有用。根据提供的文件

“public java.io.File layoutOnDisk()

调用此函数可将当前配置文件写入磁盘。将返回配置文件目录。请注意,此配置文件目录是临时目录,在JVM存在时(最晚)将被删除此方法应在开始使用配置文件之前立即调用,并且每个FirefoxDriver实例只应调用一次

返回: 包含配置文件的目录。“

如果您在执行时观察临时文件夹,则会继续创建和删除几个匿名文件夹,最后只会有一个文件夹。我们可能会得到下面这样的文件夹名称,但在exist上它将有不同的名称

 System.out.println(profile.layoutOnDisk());
所有配置文件首选项都在prefs.js中更新,该文件位于该匿名文件夹中。它将包含提供的setPreference、在脚本中添加扩展以及其他默认firefox配置文件首选项。由于我们已经在脚本中提供了所需的首选项,我希望不需要从这个文件中获取数据

也不建议从目录启动firefox配置文件。根据文件

“Firefox简介

公共FirefoxProfile(java.io.File profileDir)

从现有配置文件目录构造firefox配置文件

需要此功能的用户应该考虑使用命名配置文件。

参数: profileDir—用作模型的配置文件目录。“

不仅是从这个匿名文件夹,对我来说,从保存的概要文件目录(通常在AppData\Local\Mozilla中)它并没有像预期的那样工作。我所有的方式都是按名称使用配置文件,当然,我希望,大多数情况下都是按名称使用,而不是按保存的目录

作为已知的驱动程序。manage().getCookies();将提供一套cookies,如果需要,我们可以获得这些cookies

谢谢,,
Murali

profile.layoutOnDisk()/profile.toJson在客户端调用创建/返回本地配置文件。请问您何时调用该配置文件。根据文件,我们需要在开始执行时调用。在执行完成之后,我们不能在执行结束之前、方法close/quitHi之前使用该概要文件,我的意思是说,一旦执行开始,调用模型(模型只是执行中的概要文件)可以使用layoutOnDisk/toJson,并在该执行中使用它来复制另一个概要文件。如果您认为需要保存配置文件可能是通过layoutOnDisk并认为在执行后使用,可能是在下一次执行中,那么这将不起作用。我希望这能澄清…你好,我的朋友!我正在远程使用selenium server standalone。你建议我打电话到哪里?如果我在客户端这样做,我将得到一个本地配置文件复制文件夹,这是我已经拥有的。