2016-07-25 6 views
0

У меня возникла проблема, когда Selenium нажимает на ссылку до ее отображения на экране.Selenium, щелкнув ссылку, пока не будет видно

Я попытался использовать как:

WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID,('menu-link-dashboard')))) 

и

WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID,(self.ws.cell(row=i, column=j).value)))) 

Проблема Я бегу в том, что с обоими выше, Селен найти ссылку, прежде чем он на самом деле отображается на экране. Затем ему удается щелкнуть ссылку, но поскольку она еще не была загружена должным образом, она дает неправильное поведение (она расширяет свое подменю и затем сворачивает его).

Может ли кто-нибудь предложить решение?

+0

Просьба привести пример, чтобы мы могли воспроизвести проблему. –

+0

Трудно воспроизвести. Есть пункт меню, который при нажатии на него расширяет подменю. Если эта ссылка нажимается до загрузки домашней страницы, подменю расширяется, а затем мгновенно сводит к минимуму. – ChrisG29

ответ

0

Мне это удалось. Проблема была вызвана тем, что я ожидал, что ссылка будет видимой. Мне действительно нужно было дождаться, пока будет видна главная страница (что произошло только через 2 секунды после того, как были видны ссылки меню).

Я изменил Webdriverwait, который будет выполняться вместо объекта на домашней странице.

Смежные вопросы