t.me/atinfo_chat Telegram группа по автоматизации тестирования

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

Теги: #<Tag:0x00007f9b02c95118> #<Tag:0x00007f9b02c94ce0>

Всем привет.

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

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

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

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

Спасибо.

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

1 Симпатия

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

2 Симпатий

Ruby

wait = Selenium::WebDriver::Wait.new timeout: 10
element = driver.first :css, 'input'
wait.until { element.attribute 'value' != '' }
1 Симпатия

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

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