因此,我有一個頁面,由於加載了一些背景資料而需要很長時間才能加載。我希望能夠在DOM加載後立即與之交互,並且readyState是「交互式」的。基本上我只是想點擊一個鏈接,讓我離開這個頁面,因爲在我繼續前我不需要加載整個東西。但是,似乎我不能在驅動程序上運行Javascript,直到頁面加載完畢;發生什麼事是ExecuteJavascript函數也會超時。C#硒,如何在頁面仍在加載時在網頁驅動程序上執行javascript
try
{
element.Click(); //BrowserCommandTimeout was set to 10 seconds
}
catch (Timeout e)
{
string state = driver.ExecuteJs("return document.readyState").ToString(); //Also times out after 10 seconds
while ((state != "complete") && state != "interactive")
{
Utilities.Sleep(2000);
}
}
有人有什麼想法如何解決這個問題?
您是否嘗試過做一個'.SendKeys()'用ESC鍵?這應該阻止加載頁面,然後你應該能夠繼續。我似乎記得過去看到其他人嘗試過。我不知道這會解決整個問題,但可能會讓你想要更快一點。 – JeffC