簡體   English   中英

在 Selenium Java 一段時間后關閉 Window

[英]Closing the Window after Some Time in Selenium Java

使用 Selenium 我正在打開 window。 單擊按鈕后,我想關閉並退出 Window。 我怎樣才能在 Selenium 中實現這一點。 我想在關閉之前執行的 function window 如下

 new WebDriverWait(driver, 5).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@class='css-vote-button pds-vote-button' and starts-with(@id, 'pd-vote-button10359300')]/span[text()='Vote']"))).click();

使用driver.close()您可以關閉 WebDriver 控制的選項卡/窗口。

我使用此代碼關閉所有選項卡/窗口。

var tabs = new ArrayList<>(driver.getWindowHandles());

while(tabs.size() > 0){

    driver.switchTo().window(tabs.get(0)); //NoSuchWindowException

    driver.close();

    tabs = new ArrayList<>(driver.getWindowHandles());

}

要關閉並退出您的驅動程序 session,您可以執行以下操作:

    Thread.Sleep(10000) // or Thread.Sleep(TimeSpan.FromSeconds(10));
    Driver.Close();
    Driver.Quit();

Thread.Sleep只是實現了 10 秒的等待, Driver.Close關閉瀏覽器 session, Driver.Quit終止 WebDriver 的實例。 為了正確終止 session,兩者都是必要的。

建議您將這些方法包裝在 try / finally 塊中,以避免在終止 session 時出現任何錯誤。

            if (Driver != null)
                {
                    try { Driver?.CloseApp(); }
                    finally
                    {
                        try
                        {
                            Driver?.Quit();
                        }
                        finally
                        {
                            Driver = null;
                            DriverFactory.Current.StopAppiumServer();
                        }
                    }
                }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM