#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))
.
Если это все еще не работает, обновите страницу и попробуйте выполнить описанное выше.