Firefox 如何使Selenium使用localhost代理

Firefox 如何使Selenium使用localhost代理,firefox,selenium,proxy,Firefox,Selenium,Proxy,我有一个基于perl的selenium脚本,其中包含以下语句: $sel = Test::WWW::Selenium->new( host => "localhost", port => 4444, browser => "*chrome", browser_url => "https://$A

我有一个基于perl的selenium脚本,其中包含以下语句:

$sel = Test::WWW::Selenium->new( host => "localhost", 
                            port => 4444, 
                            browser => "*chrome", 
                            browser_url => "https://$ARGV[0]/" );
这会启动Firefox浏览器。我希望当Firefox浏览器启动时,它被配置为使用我的代理,即127.0.0.1:8080,在这里我已经启动了代理服务。如何在不更改上述代码的情况下实现这一点?

对于Firefox,您需要为Selenium做一些更改。使用
-ProfileManager-no remote
启动Firefox以选择此配置文件。相应地配置它

使用Selenium webdriver启动Firefox时,您可以指定要与
webdriver.Firefox.profile一起使用的配置文件

我找不到一个解决方案来用Perl API实现同样的效果。您可能必须破解源代码才能指定配置文件。只需将
-P
加上配置文件的名称添加到浏览器进程的命令行选项中

或者,可以在运行测试之前在path变量中插入脚本。例如,在Unix上:

#!/bin/bash

/usr/bin/firefox -P selenium
将此文件保存在,例如,
$HOME/selenium/bin/firefox
,使此新文件可执行,并:

export PATH="$HOME/selenium/bin/firefox;$PATH"

测试不会认为该脚本是firefox可执行文件并运行它。然后,脚本将使用正确的参数运行Firefox。

当您向Selenium请求“*chrome”时,您将获得Firefox?古怪的还要注意,“呕吐”的意思是“呕吐”。用“开始”代替。