У меня проблема - я использую веб-драйвер selenium (firefox), чтобы открыть веб-страницу, щелкнуть несколько ссылок и т. Д., А затем сделать снимок экрана.
Мой скрипт отлично работает из CLI, но при запуске через cronjob он не проходит первый тест find_element (). Мне нужно добавить отладку или что-то, что поможет мне понять, почему это не получается.
По сути, я должен щелкнуть ссылку «войти», прежде чем перейти на страницу входа. Конструкция элемента:
<a class="lnk" rel="nofollow" href="/login.jsp?destination=/secure/Dash.jspa">log in</a>
Я использую find_element методом LINK_TEXT:
login = driver.find_element(By.LINK_TEXT, "log in").click()
Я немного похож на Python Noob, поэтому немного борюсь с языком ...
A) Как мне проверить, что Python действительно перехватывает ссылку? Должен ли я использовать блок try / catch?
B) Есть ли лучший / более надежный способ найти элемент DOM, чем с помощью LINK_TEXT? Например. В JQuery вы можете использовать более конкретный селектор $ ('a.lnk: содержит (войти))'. Do_something ();
Я решил основную проблему, и это была просто проблема с пальцем - я вызывал скрипт с неверными параметрами - Простая ошибка.
Мне все еще хотелось бы узнать, как проверить, существует ли элемент. Кроме того, пример / объяснение неявных / явных Ожиданий вместо использования дрянного вызова time.sleep ().
Ура, нс