Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Selenium - ожидание пока текстовое поле пустое.

selenium
webdriver
Теги: #<Tag:0x00007f7b70b40cd8> #<Tag:0x00007f7b70b40b48>

(Ilya G) #1

Всем привет.

Есть поле, которое изначально пустое, потом происходит действие, и поле должно стать не пустым.
Но селениум всегда возвращает пустой текст.
Хочу ждать пока текст появится.

Вижу это как то так:

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until(txtTextFiled.Text.Length > 0);

Есть ли что то подобное в селениуме? или придется писать свою имплементацию?

Спасибо.


(5am) #2

придется писать свой Expected Conditional


(Vasiliy Rakshin) #3

wait.until(ExpectedConditions.textToBePresentInElement(By.id(“iddd”), “text”));


(Сергей Блохин) #4

Ruby

wait = Selenium::WebDriver::Wait.new timeout: 10
element = driver.first :css, 'input'
wait.until { element.attribute 'value' != '' }

(Ilya G) #5

Пишлось написать свой метод.Оказалось очень просто:
С#
WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(3));
wait.Until(driver => txtTranslationsResult.Text.Length > 0 ? txtTranslationsResult : null);
return txtTranslationsResult.Text;


(Ilya G) #6

Спасибо, то что нужно, так и решил проблему