【发布时间】:2022-08-05 16:40:15
【问题描述】:
情况:我在无头模式下运行 chrome(请参阅代码部分中的参数),当我连接到页面时(假设我在运行使用 selenium 的应用程序之前登录页面)我已经登录到第一台计算机上的页面(因为它使用现有配置文件并且我在启动我的应用程序之前登录到页面),使用正确的配置文件。
在第二台计算机上,我正在运行具有相同设置的 Chrome(与第一台计算机上相同),当我转到与第一台计算机相同的页面时,我不是登录页面(因为未使用具有现有会话的配置文件)...
如果我删除 --headless 选项一切正常......但是我想用 chrome 使用的当前配置文件在 HEADLESSS 模式下运行它。
- 司机: Chrome 驱动程序版本 101
- 爪哇版: 15
- 浏览器:谷歌浏览器(版本 101.0.4951.64)
- 操作系统: 两台电脑都有 Windows 10
部分代码:
String userP=getChromeUserProfilePath();
options.addArguments(String.format(\"--user-data-dir=%s\",userP));
if(getChromeUserProfileName()!=null){
options.addArguments(String.format(\"--profile-directory=%s\",getChromeUserProfileName()));
}
options.addArguments(\"--headless\",
\"--disable-gpu\",
\"--window-size=1920,1200\",
\"--ignore-certificate-errors\",
\"--disable-extensions\",
\"--no-sandbox\",
\"--disable-dev-shm-usage\");
ChromeDriver webDriver = new ChromeDriver(options);
问题:
问题在哪里?我如何使它适用于第二台计算机?
标签: java selenium google-chrome user-profile