簡體   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