как совершать следующее действие с помощью selenium Python после загрузки элемента на странице
Друзья, добрый день! Хожу Селениумом по облачной 1-С ке. Возникла потребность совершать какое-то действие после загрузки определенного элемента страницы, а не всей страницы целиком. Пробовал два метода:
wait.until(EC.presence_of_element_located()) и ожидание до загрузки необходимых слов, например:
wait.until(EC.element_to_be_clickable((By.ID,"userName"))).click()
или
wait.until(EC.presence_of_element_located()) со схожей логикой, описанной выше.
Но периодически код ломается. Значит, что-то происходит не так. Приходится втыкать костыли типа sleep, но они по-разному работают на разных машинах (в зависимости от того, как быстро грузятся страницы при разной скорости интернета).
Какие методы можно использовать, чтобы получать гарантированный результат, а не 20% успеха?
Ответы (1 шт):
Селениум не начинает работу пока страница не загрузится полностью, после того как страница загрузилась, он начинает искать те элементы которые Вы прописали. Нужно смотреть ошибки, почему он отлетает? К примеру если по таймауту, значит селектор указан неправильно, и селениум отвалился по ожиданию - "wait".