繁体   English   中英

Java + Selenium + Chromedriver 获胜。 服务器 2012 R2

[英]Java + Selenium + Chromedriver on win. Server 2012 R2

我使用 selenium 和 chromedriver 在 java 中编写了一个应用程序,该应用程序登录到网站然后执行操作。 该应用程序是在 windows 服务器 2012 上开发的,我正在从本地计算机通过 RDP 连接到服务器。 当我登录服务器时,一切运行正常(保持 rdp 连接处于活动状态)。

然后通过 windows 任务调度程序中的计划任务定期启动应用程序。 该应用程序部署在 payara 服务器上。

当我关闭 RDP session 时出现问题。 该应用程序已启动,但在 payara 控制台中,我注意到未找到 web 页面的所有元素,好像必须激活 chrome window。 我尝试使用无头模式(逐渐截屏),但由于某种原因,我仍然处于登录状态(好像目标站点收到了无头模式),因此无法登录以及随后的操作执行。

看着堆栈。 论坛,我发现这个线程可能可以解决问题,但我不清楚指示的脚本是做什么的。 关联

我无法回答的问题是:为了在不使用无头模式的情况下从 windows 任务调度程序正确启动应用程序,RDP 连接是否始终处于活动状态? 或者即使 RDP 断开连接也可以启动软件?

一些技术细节:

  • ChromeDriver 88.0.4324.27
  • ChromeBrowser 88.0.4324.190(官方版本)
  • JDK 11

Chrome 驱动设置:

System.setProperty("webdriver.chrome.driver", "C:\\chromedriver_win32\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
options.setExperimentalOption("useAutomationExtension", false);
options.addArguments("--disable-blink-features");
options.addArguments("--disable-blink-features=AutomationControlled");
options.addArguments("--no-sandbox");
options.addArguments("--disable-gpu");
options.setAcceptInsecureCerts(true);
options.addArguments("--start-maximized");
driver = new ChromeDriver(options);

欢迎任何建议。 非常感谢提前

我不确定它是否会对您有所帮助..您可以使用注册表启用 RDP 保持活动状态

在这里你可能会有一些想法https://admx.help/?Category=Windows_10_2016&Policy=Microsoft.Policies.TerminalServer::TS_KEEP_ALIVE https--548-34/do-i-keephow -session-alive-from-the-client-side

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM