簡體   English   中英

Java Selenium - 繞過 driver.get() 等待時間

[英]Java Selenium - Bypass driver.get() waiting time

我正在嘗試使用 Selenium WebDriver 訪問網站,但該網站將繼續加載,盡管我仍然可以與之交互。 (如果您想知道,該網站是 nitrotype.com。)我認為這是因為driver.get()等到頁面完全加載。 我可以繞過這個直到加載某個元素嗎?

TL;DR 如何繞過driver.get()等到站點完全加載后再繼續?

查看頁面加載策略: https://www.selenium.dev/documentation/en/webdriver/page_loading_strategy/ Normal、Eager 和 None 是您的選擇。 我建議您將您的策略與適當的顯式等待結合起來。

普通的

normal 這會使 Selenium WebDriver 等待整個頁面加載完畢。 當設置為正常時,Selenium WebDriver 等待直到返回加載事件觸發。

默認情況下,如果沒有提供,則將 normal 設置為 browser。

渴望的

急切 這將使 Selenium WebDriver 等到初始 HTML 文檔已完全加載和解析,並丟棄樣式表、圖像和子幀的加載。

當設置為 eager 時,Selenium WebDriver 會等待直到返回 DOMContentLoaded 事件觸發。

沒有任何

無 當設置為無時 Selenium WebDriver 只等到初始頁面被下載。

實施:

public class pageLoadStrategy {
    public static void main(String[] args) {
        ChromeOptions chromeOptions = new ChromeOptions();
        chromeOptions.setPageLoadStrategy(PageLoadStrategy.NONE);
        WebDriver driver = new ChromeDriver(chromeOptions);
        try {
            // Navigate to Url
            driver.get("https://google.com");
        } finally {
            driver.quit();
        }
    }
}

暫無
暫無

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

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