Selenium:Selenium自动设置referer Header
我正在使用含铬的硒RC
我的问题是,每次selenium打开一个chrome实例时,它会将HTTP referer Header设置为此值 “名”:“引荐” “值”: “HTTPS:?//localhost/selenium-server/core/RemoteRunner.html的sessionId = 534b84df760b4422940a90dadd1bd60c&安培;多窗口=真安培;的baseUrl = HTTPS%3A%2F%2Flocalhost%2Fems&安培; debugMode =假”
我的Web应用程序检查referer是否包含有效链接(链接是Web应用程序的一部分),如果referer包含任何其他链接,则显示错误。
由于这个原因,我无法使用selenium
登录我的网络应用程序有没有办法在没有“Referer”标题或Referer为空白的情况下启动selenium实例
答案 0 :(得分:0)
根据this页面存在此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 强>
我告诉你,你可以将String发送到start()
命令。因此,如果以上不起作用,您也可以尝试:
selenium.start("--no-referrers");