вставка текста

slava1975

Client
Регистрация
12.09.2016
Сообщения
289
Благодарностей
30
Баллы
28
люди добрые помогите кто чем может,столкнулся с проблемой,вставка массивного текста в поле для ввода: если использовать код :
C#:
lock(SyncObjects.InputSyncer) // блокировка
{
    var descr = project.Variables["content"].Value;

    // сохраняем предыдущее состояние буфера
    String previous_text = null;
    previous_text = System.Windows.Forms.Clipboard.GetText();

    // сохраняем нужный текст в буфер и вставляем его (программно делаем CTRL+V)
    System.Windows.Forms.Clipboard.SetText(descr);
    instance.ActiveTab.KeyEvent("v","press","ctrl");

    // стираем буфер и возвращаем его к первоначальному состоянию
    System.Windows.Forms.Clipboard.Clear();
    System.Windows.Forms.Clipboard.SetText(previous_text);
}
,в несколько потоков или паралельный шаблон с подобной вставкой текста ,приводят к полной путаннице,в один шаблон может вставится текст из другого шаблона
помогите как еще решить эту прпоблему? просто эмуляцией клавиатуры не решить,текст может не полностью пропечатываться,кто сталкивался с подобной проблемой? очень надо,помогите!!!!!!
Через конструктор действий через set ( переменная текст),так же массивные тексты прописываются не полностью либо очень при очень долго)
 

kagorec

Client
Регистрация
24.08.2013
Сообщения
994
Благодарностей
540
Баллы
93
Так и будет с буфером. Найди альтернативное решение, например вставка сразу из переменной в форму
 

slava1975

Client
Регистрация
12.09.2016
Сообщения
289
Благодарностей
30
Баллы
28
Так и будет с буфером. Найди альтернативное решение, например вставка сразу из переменной в форму
Спасибо за ответ, но я написал что чаще всего массивный текст не вставляется &полностью, и это реально долго если текст размером на А4, текст из переменной сразу в форму вводится по символьно
 

kagorec

Client
Регистрация
24.08.2013
Сообщения
994
Благодарностей
540
Баллы
93
Вставить текст можно не стандартным способом. Но никак не через буфер - это ужасное решение (проверено).
В лс покажи что за сайт.
 

slava1975

Client
Регистрация
12.09.2016
Сообщения
289
Благодарностей
30
Баллы
28
Отправил вам кусок кода
 

slava1975

Client
Регистрация
12.09.2016
Сообщения
289
Благодарностей
30
Баллы
28
Вставить текст можно не стандартным способом. Но никак не через буфер - это ужасное решение (проверено).
В лс покажи что за сайт.
ох как я жду машего ответа
 

nexx1

Client
Регистрация
16.08.2016
Сообщения
281
Благодарностей
98
Баллы
28
люди добрые помогите кто чем может,столкнулся с проблемой,вставка массивного текста в поле для ввода...
попробуйте напрямую вставить из переменной, как-то так:
C#:
string largeText = project.Variables["МояПеременнаяСТекстом"].Value;
HtmlElement textarea = instance.ActiveTab.FindElementByXPath("//textarea", 0);
textarea.SetValue(largeText);
 

slava1975

Client
Регистрация
12.09.2016
Сообщения
289
Благодарностей
30
Баллы
28
попробуйте напрямую вставить из переменной, как-то так:
C#:
string largeText = project.Variables["МояПеременнаяСТекстом"].Value;
HtmlElement textarea = instance.ActiveTab.FindElementByXPath("//textarea", 0);
textarea.SetValue(largeText);
128951 не сработало
 

nexx1

Client
Регистрация
16.08.2016
Сообщения
281
Благодарностей
98
Баллы
28
Последнее редактирование:

slava1975

Client
Регистрация
12.09.2016
Сообщения
289
Благодарностей
30
Баллы
28

kagorec

Client
Регистрация
24.08.2013
Сообщения
994
Благодарностей
540
Баллы
93
Вообщем ТС предоставил в лс свой секретный шаблон.
Где впринципе нужно было заполнить textarea, а после стандартного заполнения через Set "value" кнопка "отправить" уже становилась неактивной (скорее всего изза этого был выбран альтернативный вариант заполнения через буффер) что поправимо фокусом по textarea с последующей эмуляцией клавиатуры (чтото дополнительно напечатать например пробел) и кнопка "отправить" становится активна. Всё!

Не используйте буффер!)
 
  • Спасибо
Реакции: KokaSEO

KokaSEO

Client
Регистрация
17.01.2015
Сообщения
408
Благодарностей
157
Баллы
43
Вообщем ТС предоставил в лс свой секретный шаблон.
Где впринципе нужно было заполнить textarea, а после стандартного заполнения через Set "value" кнопка "отправить" уже становилась неактивной (скорее всего изза этого был выбран альтернативный вариант заполнения через буффер) что поправимо фокусом по textarea с последующей эмуляцией клавиатуры (чтото дополнительно напечатать например пробел) и кнопка "отправить" становится активна. Всё!

Не используйте буффер!)
Все гениальное просто.
Решал сейчас такую же задачу и уже начал гуглить, как вставить из буфера, но вовремя наткнулся на это сообщение, которое все решило. Спасибо.
 
  • Спасибо
Реакции: kagorec

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)