Что у меня есть - я автоматизирую один веб-сайт, на котором есть большой список элементов, но не загружены все сразу. Скажем, например, у меня есть 200 элементов в списке, но на данный момент загружено только 10 элементов, и из этих 10 только 5 видны на экране.
Что я хочу сделать - Теперь я хочу выбрать все эти элементы 1 на 1, нажимая на них, потому что нажатие на элемент устанавливает флажок перед каждым (В основном я хочу отметить флажок). Поэтому я сначала выберу 5 элементов, которые видны на странице, затем прокручиваю вниз, чтобы выбрать другую видимую группу, так же как и я хочу выбрать все 200 элементов.
С какой проблемой я столкнулся - метод webdriver.findElements (..) возвращает список из 10 загруженных элементов. Но это не возвращение списка в том порядке, в котором элементы отображаются на странице. Я использую цикл for для перебора списка и щелкаю элементы по одному.
В результате, если щелкнуть 6-й элемент, который не отображается на странице, страница прокручивается до этого элемента и щелкает по нему, теперь после этого, если 2-й элемент получил возможность щелкнуть мышью, страница должна прокрутиться вверх, чтобы щелкнуть по нему, но это время, когда DOM снова загрузился из-за прокрутки, я получаю StaleElementReferenceException. Если я обработаю это исключение в try catch и получу список элементов снова, найдя элементы, это не гарантирует, что они будут в правильном порядке и не решит мою проблему.
Решение ?? - Есть ли способ в селене получить список элементов в порядке их отображения на странице? Или, пожалуйста, дайте мне знать, каким должен быть подход для достижения вышеуказанного сценария?
Любые предложения очень ценятся.
Примечание. JAVA используется в качестве языка программирования.