Selenium, CSS и Python: невозможность просмотра текста по умолчанию в текстовом поле

#python #css #selenium #selenium-rc

#python #css #selenium #selenium-rc

Вопрос:

У меня есть текстовое поле, которое содержит текст по умолчанию 'abc' . Когда я что-то пишу внутри этого поля или курсор находится внутри этого поля, текст по умолчанию исчезает. Базовый HTML-тег для этого поля:

 <div id="InputDefault" class="defaultText" style="visibility: visible;">abc</div>
  

Теперь вручную все работает нормально. Я пишу тестовый пример в Selenium, чтобы проверить, появляется ли текст по умолчанию, когда поле пустое. Но в тестовом примере это иногда работает, и чаще всего происходит сбой. Я написал следующую функцию:

 #I first delete the text in the field (I have used a text element)/
self.se.type(#I first delete the text in the field (I have used a text element).
self.se.type(locators["search_field_header"], "")
#Then I focus on the field.
self.se.set_cursor_position("headerParam", "")
    #Then I focus on the field
    self.se.set_cursor_position("headerParam",0)
    #Press the TAB key to move focus away from the search field to get default text.
    self.se.key_press_native("9")
    self.se.set_speed(1000)
    is_footer_default_text_present = self.is_element_available("InputDefault")
  

Но это почему-то не работает. В чем проблема и есть ли лучшее / надежное решение?

Ответ №1:

Используйте selenium.is_visible(locator) . Если это не работает, используйте selenium.is_text_present(value) или if (Expectedvalue == selobj.get_value(parameter)) .

Если это все еще не работает, обновите страницу и попробуйте выполнить описанное выше.