gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:03:18 26 4
gpt4 key购买 nike

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

    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);

session 完成后,我在 x.x.x.x 上看到类似“anonymous2926416537184265625webdriver-profile”的文件夹,其中包含包含新 cookie、历史记录、LocalStorage 等的更新配置文件。

有一个方法 p.toJson(),但它返回本地配置文件。问题是如何获取 x.x.x.x 上的“anonymous2926416537184265625webdriver-profile”的内容?

最佳答案

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

“公共(public)java.io.FilelayoutOnDisk()

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

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

如果您观察执行时的临时文件夹,会发现几个匿名文件夹不断创建和删除,最后只有一个文件夹存在。我们可能会得到如下所示的文件夹名称,但如果存在,它将具有不同的名称。

 System.out.println(profile.layoutOnDisk());

所有配置文件首选项均在该匿名文件夹中的 prefs.js 中更新。它将包含提供的 setPreference、在脚本中添加扩展以及其他默认的 Firefox 配置文件首选项。由于我们已经在脚本中提供了所需的首选项,我希望不需要从此文件中获取数据。

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

“Firefox配置文件

公共(public) FirefoxProfile(java.io.File profileDir)

从现有的配置文件目录构造 Firefox 配置文件。

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

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

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

众所周知 driver.manage().getCookies();将提供一组 cookie,如果需要,我们可以获得这些。

谢谢你,穆拉利

关于java - RemoteWebDriver:如何获取更新的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34654298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com