Вы можете попробовать этот метод, это не будет ждать, пока страница загрузится полностью, и вы можете добавить предполагаемое время загрузки страницы.
public void E_WaitForPageLoad() throws Exception
{
JavascriptExecutor js = (JavascriptExecutor)driver;
//This loop will rotate for 100 times to check If page Is ready after every 1 second.
//You can replace your if you wants to Increase or decrease wait time.
int waittime;
waittime = 60;
for (int i=0; i<waittime; i++)
{
try
{
Thread.sleep(1000);
}catch (InterruptedException e) {}
//To check page ready state.
if (js.executeScript("return document.readyState").toString().equals("complete"))
{
//System.out.println("Wait for Page Load : "+js.executeScript("return document.readyState").toString());
break;
}
}
System.out.println("\nWeb-Page Loaded.");
}
Спасибо,
Ed D, Индия.
Что такое 'googleTranslateMainDriver'? 'mainDriver.getPageSource()' должен возвращаться только после полной загрузки страницы в Selenium 2.0. Конечно, после загрузки модификаций страницы из JavaScript не обрабатываются. – dhke
@dhke да это mainDriver. также он возвращает исходный код старой страницы, когда я перемещаюсь – MonsterMMORPG
Почему бы вам не попробовать pageloadtimeout? driver.manage(). timeouts(). pageLoadTimeout (10, TimeUnit.SECONDS); – shank087