Я пишу тесты для веб-приложения. Некоторые команды вытягивают диалоговые окна, у которых есть элементы управления, которые видны, но недоступны в течение нескольких мгновений. (Они выделены серым цветом, но 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'
Вот код, который я пробовал, но он "видит" кнопку, прежде чем она будет использоваться, и в основном заряжается прямо после предполагаемого "ожидания".
Обратите внимание, что вместо этого я могу записать десять секунд в код вместо этого, и код будет работать правильно, но это уродливо, ненадежно и неэффективно. Но это доказывает, что проблема в том, что команда "click" бежит впереди доступности элементов управления.