至于硒2.xx版本和Firefox 45.6esr(在Linux上)它是这样的:
每一个会话启动Firefox的配置文件的新副本在系统的临时目录中创建时间。如果未指定 - 例如在构造函数FirefoxDriver(FirefoxBinary binary, FirefoxProfile profile)
中 - 则采用默认配置文件。 无论如何,该配置文件被复制。
原因可能是 - 如果Selenium崩溃 - 它不会损害您可能用于手动浏览的配置文件。此外,拨打WebDriver.quit()
时,临时配置文件将被删除。
因此,每个会话都有唯一的ID和唯一的临时配置文件。请注意,临时配置文件的名称不是从会话ID派生的。
我想它和其他Selenium和Firefox版本甚至操作系统(至少是Windows)是一样的。为了找到答案,使用此代码片段:
FirefoxDriver driver = new FirefoxDriver();
System.out.println(driver.getSessionId());
String tmpDir = System.getProperty("java.io.tmpdir");
System.out.println(tmpDir);
File dir = new File(tmpDir);
String[] files = dir.list();
for (String file : files) {
System.out.println(file);
}
的输出是一样的东西(第一个是会话ID,最后一个是临时的Firefox配置文件目录的名称:
60bdbf4a-f4b3-4e71-a6be-9e3ad28a3b09
[...]
/tmp
[...]
anonymous8971467451928507515webdriver-profile
我觉得细节取决于您使用的Selenium/WebDriver版本。根据我的经验(使用Seleinum 1和2),它是这样的:每次启动会话时,都会创建一个新的Firefox配置文件副本(默认配置文件,如果未指定)您的系统的临时目录,原因可能是 - 如果Selenium崩溃 - 它不会损害您可能用于手动浏览的配置文件。您是什么意思_Firefox se ssion id_?它出现在哪里? –
我从这里获得了_session id_:[link](http://stackoverflow.com/q/36476111/7529915)。这是_Firefox会话ID_? – dheer