Question

sont-il des façons de définir les paramètres de proxy de Firefox? Je trouve ici des informations sur FoxyProxy mais quand fonctionne Sélénium, les plugins sont inactivés dans la fenêtre.

Était-ce utile?

La solution

Regardez la page de documentation .

Peaufiner un profil Firefox existant

Vous devez changer "network.proxy.http" et les paramètres de profil "de network.proxy.http_port".

FirefoxProfile profile = new FirefoxProfile();
profile.addAdditionalPreference("network.proxy.http", "localhost");
profile.addAdditionalPreference("network.proxy.http_port", "3128");
WebDriver driver = new FirefoxDriver(profile);

Autres conseils

Valeur network.proxy.http_port doit être un entier (sans les guillemets doivent être utilisés) et network.proxy.type doit être défini comme 1 (ProxyType.MANUAL, paramètres de proxy Manuel)

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 1);
profile.setPreference("network.proxy.http", "localhost");
profile.setPreference("network.proxy.http_port", 3128);
WebDriver driver = new FirefoxDriver(profile);

Je viens d'avoir du plaisir avec cette question pendant quelques jours et il était difficile pour moi de trouver une réponse pour HTTPS, donc voici mon, pour Java:

    FirefoxProfile profile = new FirefoxProfile();
    profile.setPreference("network.proxy.type", 1);
    profile.setPreference("network.proxy.http", "proxy.domain.example.com");
    profile.setPreference("network.proxy.http_port", 8080);
    profile.setPreference("network.proxy.ssl", "proxy.domain.example.com");
    profile.setPreference("network.proxy.ssl_port", 8080);
    driver = new FirefoxDriver(profile);

Gotchas ici: il suffit d'entrer le domaine et non http://proxy.domain.example.com, le nom de la propriété est .ssl et non .https

Je vais avoir encore plus de plaisir à essayer de l'obtenir d'accepter mes certificats auto-signés ...

Juste pour ajouter aux solutions données ci-dessus.

Ajout de la liste de possibilités (valeurs entières) pour le "network.proxy.type".

0 - Direct connection (or) no proxy. 

1 - Manual proxy configuration

2 - Proxy auto-configuration (PAC).

4 - Auto-detect proxy settings.

5 - Use system proxy settings. 

Ainsi, la base de notre exigence, la valeur « network.proxy.type » doit être réglé comme indiqué ci-dessous.

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 1);
WebDriver driver = new FirefoxDriver(profile);

L'API WebDriver a été modifiée. L'extrait en cours pour le réglage du proxy est

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.http", "localhost");
profile.setPreference("network.proxy.http_port", "3128");
WebDriver driver = new FirefoxDriver(profile);

Dans le cas si vous avez une URL autoconfig -

        FirefoxProfile firefoxProfile = new FirefoxProfile();
        firefoxProfile.setPreference("network.proxy.type", 2);
        firefoxProfile.setPreference("network.proxy.autoconfig_url", "http://www.etc.com/wpad.dat");
        firefoxProfile.setPreference("network.proxy.no_proxies_on", "localhost");
        WebDriver driver = new FirefoxDriver(firefoxProfile);

Voici un exemple de Java en utilisant DesiredCapabilities. Je l'ai utilisé pour les essais de pompage de sélénium dans jmeter. (Était seulement intéressé par les requêtes HTTP)

import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

String myProxy = "localhost:7777";  //example: proxy host=localhost port=7777
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY,
                           new Proxy().setHttpProxy(myProxy));
WebDriver webDriver = new FirefoxDriver(capabilities); 

Pour urls à base de PAC

 Proxy proxy = new Proxy();
 proxy.setProxyType(Proxy.ProxyType.PAC);
 proxy.setProxyAutoconfigUrl("http://some-server/staging.pac");
 DesiredCapabilities capabilities = new DesiredCapabilities();
 capabilities.setCapability(CapabilityType.PROXY, proxy);
 return new FirefoxDriver(capabilities);

J'espère que cela pourrait aider.

Firefox Proxy: JAVA

String PROXY = "localhost:8080";

org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();

proxy.setHttpProxy(PROXY)setFtpProxy(PROXY).setSslProxy(PROXY);

DesiredCapabilities cap = new DesiredCapabilities();

cap.setCapability(CapabilityType.PROXY, proxy); 

WebDriver driver = new FirefoxDriver(cap);

Il y a une autre solution, je cherchais parce que a eu des problèmes avec le code comme celui-ci (il s définir le proxy du système dans Firefox):

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.http", "localhost");
profile.setPreference("network.proxy.http_port", "8080");
driver = new FirefoxDriver(profile);

Je préfère cette solution, il force le réglage manuel proxy dans Firefox. Pour ce faire, utilisez l'objet org.openqa.selenium.Proxy pour configurer Firefox:

FirefoxProfile profile = new FirefoxProfile();
localhostProxy.setProxyType(Proxy.ProxyType.MANUAL);
localhostProxy.setHttpProxy("localhost:8080");
profile.setProxyPreferences(localhostProxy);
driver = new FirefoxDriver(profile);

si elle pourrait aider ...

FirefoxProfile profile = new FirefoxProfile();
String PROXY = "xx.xx.xx.xx:xx";
OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy();
proxy.HttpProxy=PROXY;
proxy.FtpProxy=PROXY;
proxy.SslProxy=PROXY;
profile.SetProxyPreferences(proxy);
FirefoxDriver driver = new FirefoxDriver(profile);

Il est C #

Préférences -> Avancé -> Réseau -> Connexion (Configurer comment Firefox se connecte à Internet)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top