Я пишу тесты для веб-приложения. Некоторые команды открывают диалоговые окна, элементы управления которых видны, но недоступны в течение некоторого времени (они выделены серым цветом) out, но webdriver по-прежнему видит их как видимые).
Как я могу сказать Selenium ждать, пока элемент станет действительно доступным, а не только видимым?
try:
print "about to look for element"
element = WebDriverWait(driver, 10).until(lambda driver : driver.find_element_by_id("createFolderCreateBtn"))
print "still looking?"
finally: print 'yowp'
Вот код, который я пробовал, но он «видит» "кнопка до того, как ее можно будет использовать, и в основном заряжается сразу после предполагаемого" ожидания ".
Обратите внимание, что я могу вставить в код 10-секундный сон вместо этого, и код будет работать правильно, но это уродливо, ненадежно, и неэффективно. Но это доказывает, что проблема заключается в том, что команда "щелкнуть" опережает доступность элементов управления.