当我们写这样的东西时:
FirefoxProfile ffprofile = new FirefoxProfile(new File("D:\\Selenium"));
这是否意味着我们正在创建新的个人资料?因为我无法在Firefox配置文件部分找到任何新配置文件。
现在我的问题是,如何为Firefox浏览器创建新的配置文件?
答案 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);