existe-t-il un moyen de définir les paramètres de proxy de firefox? J'ai trouvé ici des informations sur FoxyProxy, mais lorsque Selenium fonctionne, les plugins sont désactivés dans la fenêtre.
Regardez la page de documentation .
Modification d'un profil Firefox existant
Vous devez modifier les paramètres de profil "network.proxy.http" & "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);
La valeur de network.proxy.http_port
doit être un entier (aucun guillemet ne doit être utilisé) et network.proxy.type
doit être défini sur 1 (ProxyType.MANUAL
, Paramètres de proxy manuels).
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 me suis amusé avec ce problème pendant quelques jours et il m’était difficile de trouver une réponse pour HTTPS. Voici donc ma conclusion 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);
Attrapé ici: entrez simplement le domaine et non pas http://proxy.domain.example.com
, le nom de la propriété est .ssl
et pas .https
J'ai maintenant encore plus de plaisir à le faire accepter mes certificats auto-signés ...
Juste pour ajouter aux solutions données ci-dessus.,
Ajout de la liste des 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, en fonction de nos exigences, la valeur "network.proxy.type" doit être définie 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 de code actuel pour la définition 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 où 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 Java utilisant DesiredCapabilities
. Je l'ai utilisé pour pomper les tests 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 les urls basées sur 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.
Proxy Firefox: 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 existe une autre solution, que j’ai cherchée, car elle avait des problèmes de code comme celui-ci (c’est le proxy système installé 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, cela force le paramétrage manuel du 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 cela pouvait 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);
C'est pour C #