如何通过基于perl的Selenium脚本指定要使用的Firefox配置文件?

时间:2013-11-20 12:56:19

标签: perl firefox selenium

我在perl脚本中使用以下行来使用Selenium打开浏览器。 :

my $sel = Test::WWW::Selenium->new( host => "localhost", 
                                port => 4444, 
                                browser => "*firefox", 
                                browser_url => "https://$ARGV[0]/" );

此处在browser =>中“* firefox”,我如何指定应该打开的特定firefox配置文件。我已经尝试过了:

browser => "*firefox C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe -P \"Selenium\" "

browser => " C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe -P \"Selenium\" ". 

我也厌倦了创建一个目标为

的Firefox快捷方式
C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe -P "Selenium"

然后将此快捷方式的路径作为浏览器。到目前为止我还没有任何工作要做。 我在这里做错了什么。或者还有其他方法可以实现这一目标吗?

3 个答案:

答案 0 :(得分:1)

WWW::Selenium文档表明它已经使用了与主要firefox配置文件不同的配置文件:

  

使用自定义Firefox配置文件自动启动新的Firefox进程。此配置文件将自动配置为使用Selenium Server作为代理,并禁用所有恼人的提示(“保存密码?”“表单不安全”“使Firefox成为默认浏览器?”。

如果您在主浏览器中加载该配置文件,则可以自定义配置文件(例如接受自签名证书)。

答案 1 :(得分:0)

如果您已经在运行Firefox,则需要添加“--no-remote”选项。没有它,Firefox将为同一个浏览器进程打开一个新窗口。

答案 2 :(得分:0)

正如Matthew所说,当您使用* firefox选项时,WWW :: Selenium会打开自定义配置文件

我没有编辑现有的配置文件,而是创建了一个新配置文件,将其设置为我想要的格式,然后将其复制到customProfileDirCUSTFFCHROME文件夹中的.jar文件中。

唯一棘手的一点是,您还需要包含最初位于customProfileDirCUSTFFCHROME文件夹中的扩展,该文件夹允许selenium控制firefox。