у меня есть код, который запускает webdriver.Firefox(), потом он взаимодействует со страницей, но иногда он делает не то что я прописал, то есть, есть click() по элементу, 10 раз(прогонов) он по нему кликнул, на 11ый раз нет, причем я проверяю есть ли элемент на странице с помощью WebDriverWait и он находится, просто не срабатывает click() и ошибку не выдает, проверяю так, как ниже
try:
element = WebDriverWait(driver, 60).until(
EC.presence_of_element_located((By.*****, "*****"))
)
не знаете из-за чего это может быть?
И второй вопрос)
кто-нибудь делал многопоточную обработку какого-нибудь кода взаимодействия со страницей с помощью multiprocessing.pool, то есть запускаем несколько webdriver.Firefox() и с их помощью клацаем и вписываем различные данные на странице, моя проблема в том, что если без потоков, то функция работает нормально, а если потоки есть то начинается непонятно что) все ведет себя по разному)
И третий вопрос))
как обратиться к элементу с помощью xpath если есть один div со словами "введите дату" а уже в нем указать путь дальше div[1]/div[1]/label/input к примеру
сейчас я просто копирую xpath из браузера, получается длинный путь по дереву, но бывает в начале меняется структура страницы и было например
/html/body/div[3]/.......
а стало
/html/body/div[4]/.......
пока обрабатываю с помощью ветвления try-except-else, но вот если обратиться к диву по имени, ведь он находится в структуре страницы уже дальше изменений и найти его то эти изменения не будут мешать, и решение станет универсальным, а то мало ли там на div[5] потом поменяется))
вопросов конечно много, но по любому из них буду рад каким то советам и подсказкам, и бооольшущее спасибо всем кто поможет)
@qa_automation
Обсуждают сегодня