我试图通过SSO自动登录到我的项目应用程序。在我现有的chrome窗口,我用来检查网页元素,我已经登录到应用程序与我的凭据。
使用相同的凭据,我试图自动登录过程。然而,当我在初始化Chrome驱动程序后运行脚本时,我的Selenium窗口直接打开主页,即用户成功登录应用程序后加载的页面。没有进入登录窗口。在执行driver.get(applicationURL)时,应用程序直接导航到登陆页面,而不是登录页面。
我假设它正在使用现有的cookie/缓存登录。但是,我的理解是Selenium启动的窗口没有任何现有的cookie或缓存。
当我尝试在Chrome icognito模式下运行相同的脚本时,登录窗口正在打开。
这是我的浏览器初始化代码-
public static WebDriver driver;
System.setProperty("webdriver.chrome.driver", TestUtil.CHROMEDRIVER_PATH);
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-infobars");
options.addArguments("--start-maximized");
options.addArguments("--disable-gpu");
options.addArguments("--no-sandbox");
driver = new ChromeDriver(options);
driver.manage().window().maximize();
driver.manage().deleteAllCookies();
System.out.println("URL Is "+prop.getProperty("url"));
driver.get(prop.getProperty("url"));
driver.manage().timeouts().implicitlyWait(TestUtil.IMPLICIT_WAIT, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(TestUtil.PAGE_LOAD_TIMEOUT, TimeUnit.SECONDS);
driver.manage().timeouts().setScriptTimeout(TestUtil.SET_SCRIPT_TIMEOUT, TimeUnit.SECONDS);
return driver;
**Chrome版本为- 108.0.5359.95 **Chrome驱动版本为108.0.5359.71
可以用
options.addArguments("--no-sandbox", "--disable-dev-shm-usage")
不是
options.addArguments("--no-sandbox")