Selenium: Selenium автоматически устанавливает заголовок реферера - PullRequest
1 голос
/ 07 марта 2012

Selenium: Selenium Автоматически устанавливает заголовок реферера

Я использую selenium RC с хромом

Моя проблема в том, что каждый раз, когда selenium открывает экземпляр Chrome, он устанавливает заголовок реферера HTTP на это значение "name ":" Referer "," value ":" https://localhost/selenium-server/core/RemoteRunner.html?sessionId=534b84df760b4422940a90dadd1bd60c&multiWindow=true&baseUrl=https%3A%2F%2Flocalhost%2Fems&debugMode=false"

Мое веб-приложение проверяет, содержит ли referer действительную ссылку (ссылки, являющиеся частью веб-приложения), и если реферер содержит любую другую ссылку, отображается ошибка.

Из-за этого я не могу войти в свое веб-приложение, используя селен

Есть ли способ запустить экземпляр селена без заголовка "Referer" или Referer как пустой

1 Ответ

0 голосов
/ 07 марта 2012

Согласно этой странице существует этот переключатель Chrome

--no-referrers  Don't send HTTP-Referer headers.

На Java я бы сделал это так:

ChromeDriverService service = ChromeDriverService.createDefaultService();
File file = new File(RegulationUI.class.getResource("/chromedriver.exe").toURI());
System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, file.getAbsolutePath());
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized"); //Chrome starts always maximized
options.addArguments("--no-referrers"); // no HTTP referer will be send
WebDriver driver = new ChromeDriver(service,options); //starts Chrome
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); //imlpicitly wait 30s for fage to load

РЕДАКТИРОВАТЬ Я полностью скучал по Selenium-RC.Читая javadoc Я понял, что может быть способ:

DefaultSelenium selenium = new DefaultSelenium("ServerHost", 8080, "path/to/chrome/chrome.exe --no-referrers", "start-url.com");

В любом случае, я никогда не пробовал, поэтому я не знаю, сработает ли это

EDIT2

Я выдохнул, что вы можете отправить строку в команду start().Так что, если выше не работает, вы также можете попробовать:

 selenium.start("--no-referrers");
...