FirefoxDriver webdriver.load.strategy нестабильный поиск, получающий элементы с неправильной страницы

Я использую FirefoxDriver в приложении, которое быстро перемещается по нескольким похожим, но не идентичным страницам. Чтобы ускорить выполнение (мне нужно использовать FF), я установил для свойства webdriver.load.strategy значение unstable. Это действительно ускоряет процесс, не загружая страницы полностью, но я обнаружил очень странную ошибку.

Исследуя файл со списком страниц и данными на них, я обнаружил, что некоторые страницы были сопоставлены с неверными данными. Когда я отлаживал, все работало нормально, пока шел, но как только я позволил программе работать даже на нескольких страницах, она снова начала получать данные с неправильной страницы. (Чтобы уточнить, например, если я делаюdriver.get(www.google.com) , с последующимdriver.get(www.stackoverflow.com), а затем сделатьdriver.findElements() чтобы получить заголовок страницы StackOverflow, он вернет «Google».)

При внимательном наблюдении за работой браузера мне показалось, что существует несоответствие между URL-адресами в окне URL-адресов и фактически отображаемыми страницами. URL менялись намного быстрее, чем страница. Я подозреваю, что происходит то, что драйвер не ожидает полной загрузки страницы перед вызовом findElements и, следовательно, получает элементы с предыдущей страницы, которые имеют те же имена классов.

Это имеет некоторый смысл, учитывая то, что webdriver.load.strategy 'stable' должен делать, но я установил Wait для элемента на странице, и он, похоже, не ждет. Может ли это быть потому, что каждая страница имеет один и тот же элемент, поэтому элемент уже виден? Я не могу ждать чего-то еще, потому что все страницы имеют одинаковую настройку - отличается только индивидуальный текст, и я не знаю, что это будет заранее.

Кто-нибудь сталкивался с этой проблемой? Правильно ли мое предположение о причине проблемы? Что я могу с этим поделать, кроме удаления нестабильной стратегии загрузки?

Спасибо bsgРЕДАКТИРОВАТЬ Я добавляю некоторый код, даже если он отлично работает, когда webdriver.load.strategy 'stable' не установлен.

for(String url : urllist)
{
  driver.get(url);
  WebElement header = (new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(By.tagName("h1")));
  elements = driver.findElements(By.className(elementclassname));
}

Обратите внимание, что на каждой странице есть h1 и несколько элементов с class = elementclassname.

Ответы на вопрос(1)

Ваш ответ на вопрос