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

Ошибка при повторном нажатии кнопки поиска элемента на странице.

Теги: #<Tag:0x00007f7486de6258> #<Tag:0x00007f7486de6140>

C#, WebDriver

СЦЕНАРИЙ
1. Заполняю:
textBox34.Text;
textBox19.Text;
textBox1.Text;

  1. Нажимаю кнопку
    Код выполняется
  2. Нажимаю кнопку второй раз
    Выпадает ошибка: “No frame element found with name or id ads_frame1”

КОД

Browser.SwitchTo().Frame(textBox34.Text); // переключаемся в фрейм
IWebElement selector = Browser.FindElement(By.CssSelector(textBox19.Text));
textBox1.Text = selector.Text;
Application.DoEvents();
selector.Click(); 

ВОПРОС
Почему при повторном нажатии кнопки выпадает ошибка?

Может где-то в коде вызываемых методов вызывается switchTo defaultContent ? Если да, то тут происходит сброс к корню страницы

2 Симпатий

Варианты могут быть различны, я на своей практике с таким сталкивался. Проверьте, не меняется ли имя локатора кнопки после заполнения текстового поля. Так же надо убедиться, что опять же после заполнения поля кнопка кликабельна. На python это будет звучить так:

wait.until(EC.element_to_be_clickable((By.ID, 'id_button')))

Неявное ожидание загрузки элемента тоже может полезно:

implicitly_wait
1 Симпатия

Не совсем понимаю о чём вы говорите…
Код выглядит так

private void button41_Click(object sender, EventArgs e)
{
  Browser.SwitchTo().Frame(textBox34.Text); // переключаемся в фрейм
IWebElement selector = Browser.FindElement(By.CssSelector(textBox19.Text));
textBox1.Text = selector.Text;
Application.DoEvents();
selector.Click();
}

всё… Ну не “всё” есть ещё кнопки… но они не задействованы

Если происходит, то как можно вернуться?

не меняется

Вы про кнопку на Windows Form или на сайте?
Windows Form - кликабельна

PS.
Я пока начинающий, поэтому прошу делать поправку на неточности в терминологии и формулировании вопросов.