Загрузка...

[c#] Ошибка selenium при вводе текста в textarea?

Тема в разделе C# создана пользователем GeometryDash_inactive4361545 13 авг 2021. (поднята 13 авг 2021) 275 просмотров

  1. GeometryDash_inactive4361545
    GeometryDash_inactive4361545 Автор темы 13 авг 2021 Заблокирован(а) 11 25 июл 2021
    Пытался написать программу которая входит на сайт instagram с куки и пишет комментарий к посту.
    Все отлично работает , я нажимаю на textarea (input но там textarea) клик засчитывается и когда программа начинает вводить текст выходить ошибка ( element is not attached to page document )

    xpath написаны правильно

    Code:


    Код
    driver = new ChromeDriver();


    driver.Navigate().GoToUrl("https://www.instagram.com/p/CRmiXY8lkwD/");
    driver.Manage().Cookies.AddCookie(new Cookie("sessionid", "48257564335%3AxqVRD0uGeXxIor%3A25"));

    driver.Navigate().Refresh();
    Thread.Sleep(1500);

    var input = driver.FindElement(By.XPath("//textarea[@class='Ypffh']"));
    input.Click();
    input.SendKeys("test spam");

    Thread.Sleep(1200);
     
  2. GeometryDash_inactive4361545
    GeometryDash_inactive4361545 Автор темы 13 авг 2021 Заблокирован(а) 11 25 июл 2021
    Как исправить ошибку?
     
    1. Cros_inactive3740421
      GeometryDash_inactive4361545, возможно после клика на text area элемент подгружается заново, ты же сохраняешь его в переменную 'input' до клика, а потом только кликаешь. Тот объект уже пропадает из DOM-дерева страницы, а новый подгружается. Ссылка на этот объект становится недействительной. По факту тебе нужно кликнуть на этот элемент, а потом попытаться найти его по xpath, id, classname или по селектору заново.

      Костыльный варинт (так делать не надо, но если очень хочется - можно): селениум поддерживает клик по опредленным координатам экрана. Листаешь страницу до этой секции, тыкаешь курсором по координатам, а далее эмулируешь нажатие клавиш через один из модулей селениума, погугли, найдешь как это правильно делается.
    2. GeometryDash_inactive4361545 Автор темы
    3. GeometryDash_inactive4361545 Автор темы
      Cros_inactive3740421, Сам xpath все ровно рабочий , пробывал без клика вписать текст все равно ошибка(
    4. Посмотреть следующие комментарии (1)
  3. tracs
    tracs 14 авг 2021 2 13 янв 2017
    Предположение. После клика по полю меняется атрибут class, и, как уже говорил Cros_inactive3740421, объект отваливается от dom'а. Поэтому возможное решение - кликнуть по полю, посмотреть как изменился атрибут и перед вводом найти этот элемент с новым атрибутом.
     
    1. GeometryDash_inactive4361545 Автор темы
      tracs, Именно так и есть , спасибо вам за помощь!
Top
Загрузка...