当前位置: 首页 > 知识库问答 >
问题:

Selenium:在Firefox中更改代理

叶书
2023-03-14

我在硒写测试,想改变代理到自动检测在火狐,默认是从系统设置代理。怎么做呢?

我的代码如下:

public class SodirRejestracja {
String baseUrl = "http://google.pl"; 
String driverPath= "C:\\geckodriver.exe";
WebDriver driver;


@BeforeTest
public void beforeTest() {
    FirefoxProfile profile = new FirefoxProfile();
    profile.setPreference("network.proxy.type", 2);
    System.setProperty("webdriver.gecko.driver", driverPath);
    driver=new FirefoxDriver(profile);
}
@Test
public void test(){
    driver.get("http://google.com");
}
}

上面的代码来自如何使用SeleniumWebDriver和Java为firefox设置代理?

但在行驱动=new FirefoxDriver(配置文件)我得到:构造函数FirefoxDriver(FirefoxProfile)是未定义的

共有2个答案

益源
2023-03-14

此代码有效

Proxy proxy = new Proxy();
    proxy.setProxyType(Proxy.ProxyType.AUTODETECT);
    FirefoxOptions options = new FirefoxOptions();
    options.setProxy(proxy);
    driver = new FirefoxDriver(options);
朱渝
2023-03-14

一个样本(未测试但可以编译)应该可以做到这一点

String proxyName = <yourProxyHost> + ":" + <yourProxyPort>;
Proxy proxy = new Proxy();
proxy.setHttpProxy(proxyName)
     .setFtpProxy(proxyName)
     .setSslProxy(proxyName);

DesiredCapabilities desiredCapabilities = DesiredCapabilities.firefox();
desiredCapabilities.setCapability(CapabilityType.PROXY, proxy);
FirefoxOptions options = new FirefoxOptions(desiredCapabilities);
driver = new FirefoxDriver(options);
 类似资料:
  • 我正在尝试使用Python在Selenium中测试一个示例。我正在使用代理服务器连接到具有身份验证的Internet。当我尝试运行以下代码时: Firefox浏览器打开时没有任何问题,在其代理配置中一切正常,甚至打开了验证弹出窗口。如果我对自己进行身份验证,我可以毫无问题地导航。问题是,在这背后,我得到了以下错误: 我正在使用硒2.34和火狐17。任何帮助都很感激。

  • 问题内容: 我正在尝试找出一种方法,每当我在此特定脚本中通过Selenium(在Python中)打开Chrome时,Chrome页面都会自动打开,并选择另一个用户代理- 在这种情况下为Microsoft Edge Mobile(但我会从桌面访问它)。 因此,在进行了一些研究之后,我能够整理以下代码,我认为这些代码将在Chrome中执行用户代理开关,然后打开一个新的Bing.com页面: 但是,该代

  • 我正试图更改我的用户代理,并将更改后的用户代理打印到终端,以检查它是否已成功更改,但我没有运气。 def拦截器(请求): 我也不能从selenium wire打印用户代理,我只能使用此方法。 打印(代理) 请有人帮忙,不胜感激:)

  • 问题内容: 所以一切正常 但是,如果已经创建了驱动程序,则无法安装代理。这是行不通的 也是如此。 为什么?不能理解。我做错了吗? 问题答案: 在Firefox中使用WebDriver时,使用配置文件是一次性的事情。驱动程序启动浏览器时,它将配置文件对象写入磁盘,然后启动浏览器可执行文件。此后,浏览器将没有任何机制可以读取对WebDriver配置文件对象的任何进一步的更改。要更改代理,必须在启动浏览

  • 我想把一个网站的css从python改成selenium。 到目前为止,我所做的是获得CSS的价值。 我想更改此css的值。 运行下面的Python代码的结果:0px 0px 0px 270px 从0px 0px 0px 270px如何将其更改为0px 0px 0px 0px? 我尝试过这些事情,但最终并不是所有的都成功。 驾驶员执行_脚本(“参数[0].style.margin='0px 0px

  • 问题内容: 加载某些网页后如何更改图像遮挡? 问题答案: 可以通过开发工具栏CLI在运行中修改首选项,但与加载图像相比,它可能会带来更高的开销。这是Python示例: