如何使用Selenium WebDriver在Firefox中创建配置文件

时间:2013-10-09 10:32:44

标签: selenium selenium-webdriver profile

当我们写这样的东西时:

FirefoxProfile ffprofile = new FirefoxProfile(new File("D:\\Selenium"));

这是否意味着我们正在创建新的个人资料?因为我无法在Firefox配置文件部分找到任何新配置文件。

现在我的问题是,如何为Firefox浏览器创建新的配置文件?

5 个答案:

答案 0 :(得分:6)

您所说的方法调用只是从配置文件信息的目录创建一个java配置文件对象,然后通过WebDriver实例传递给Firefox。

为了让Firefox保持驱动程序并使其从配置文件管理器中可用,您需要在我的(Windows 7)计算机上编辑文件profiles.ini:

%APPDATA%\漫游\ Mozilla的\火狐

此文件夹中的“个人档案”目录包含现有Firefox个人档案的商店,当您希望将现有个人资料用作新个人资料的模板时,这些商店非常便于复制。

您的里程可能因您的操作系统而异,但我相信您可以通过快速搜索找到它。使用您的示例,然后将以下内容添加到此文件中(标题中的N是下一个未使用的配置文件编号):

[ProfileN]
Name=selenium
IsRelative=0
Path=D:\Selenium

这将导致Firefox配置文件管理器加载配置文件,然后允许您使用此配置文件手动启动Firefox以配置或测试它,这是我认为您想要做的。

以这种方式创建命名配置文件后,您可以将其分配给Selenium中的驱动程序,如下所示:

ProfilesIni allProfiles = new ProfilesIni();
FirefoxProfile profile = allProfiles.getProfile("selenium");
WebDriver driver = FirefoxDriver(profile);

其中“selenium”与profiles.ini文件中的Name属性相同。

答案 1 :(得分:4)

以下代码将创建firefox配置文件(基于提供的文件)并创建一个新的FF webdriver实例,并加载此配置文件:

FirefoxProfile profile = new FirefoxProfile(new File("D:\\Selenium Profile"));                  
WebDriver driver = new FirefoxDriver(profile);

或许可以查看FF个人资料管理器的official support page 或者在这里:Custom Firefox profile for Selenium以了解FF配置文件。

答案 2 :(得分:1)

您无法使用Selenium为firefox创建配置文件。你可以做的是从firefox中的可用配置文件为你的webdriver创建一个firefox配置文件。 Firefox配置文件在这里听起来有些含糊不清。

要在浏览器中创建firefox个人资料,请参阅Mozilla support页面了解详情。

答案 3 :(得分:0)

以下是硒3与geckodriver的关系:

  • 使用firefox命令行界面创建配置文件

    firefox.exe -CreateProfile“profile_name profile_dir” (在java中,由Runtime.getRuntime()。exec函数执行此运行时)

  • 在firefox选项中设置-profile参数

    FirefoxOptions options = new FirefoxOptions();
    options.addArguments("-profile", <profile_dir>);
    driver = new FirefoxDriver(options);
    

答案 4 :(得分:-2)

在Firefox浏览器中创建个人资料。

以下是使用新创建的firefox配置文件的代码。

ProfilesIni profile = new ProfilesIni();
FirefoxProfile myprofile = profile.getProfile("firefox profile name");
WebDriver driver = new FirefoxDriver(myprofile);