Когда мы используем Selenium для моделирования входа в систему после получения элемента кнопки входа, мы можем напрямую вызовать его метод click () для достижения прыжка в систему
Это хорошо для текущей страницы, но следует отметить, что, поскольку скорость загрузки страницы, как правило, ниже, чем скорость, работающая в программе, перед тем, как получить элементы страницы после входа в систему, вы можете использовать метод UTIL WebDriverWait, или вы можете напрямую использовать Thread.sleep (), чтобы позволить программе какое -то время (не рекомендуется).
Но основной момент блога заключается в том, что если мы введем новую страницу, нажав на обычную гиперссылку, то мы не можем получить новый элемент страницы с помощью приведенного выше метода, потому что WebDriver в настоящее время все еще указывает на предыдущую страницу.
Решение: сначала получите все ручки окна, а затем итерация через эту коллекцию ручки до тех пор, пока ручка не появится, не отличается от ручки текущего окна (CurrentHandle) и перенесите предыдущий WebDriver на страницу, на которую указана новая ручка.
Код заключается в следующем:
String CurrentWindow = Driver.getWindowHandle (); // Получить ручку текущего набора окна <string> handles = Driver.getWindowHandles (); // Получить ручки всех итератора Windows <String> it = handles.iterator (); Webdriver newdriver = null; while (it.hasnext ()) {string harder = it.next (); if (! Handle.equals (currentWindow)) {Driver = Driver.switchto (). Window (handle); // Переключение на разрыв окна, на который указывается новая ручка; }}Решением об отказе получения новых элементов страницы на основе селена является весь контент, общий редактор. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.