2015-02-06 2 views
0

Я ввод текста в текстовом поле с помощью codedUIуправление не найдено исключение в закодированном UI

HtmlEdit txtbox = new HtmlEdit(bw); 
      Playback.PlaybackSettings.WaitForReadyTimeout = 120000; 
      txtbox.SearchProperties.Add(HtmlEdit.PropertyNames.Id, "userfilter"); 
      txtbox.WaitForControlExist(); 
txtbox.Text = name; 

Если я отладить этот код он отлично работает, если я запускаю этот код в vs2013 дает контроль не найдено исключению , bw is my BrowserWindow Я пытался использовать WaitForControlExist, а также увеличился WaitForReadyTimeout ничего не работало.

+0

Я предполагаю, что вы отлаживаете этот код и в VS2013? Может быть, элемент управления находится где-то внизу страницы и нуждается в прокрутке? Если вы можете попробовать отладки, не касаясь окна браузера, сообщите нам, что произойдет. –

+0

@ThomasBouman находится в верхней части окна браузера, и я попробовал отладки, не касаясь окна браузера, он отлично работает. Да, я отлаживаю VS2013 – Shrivallabh

+0

В каком виде вы используете код, когда он не находит элемент управления? Отладка должна возвращать тот же результат, что и обычный, пока ничего не трогается. –

ответ

0

Можете ли вы попробовать с приведенным ниже кодом и ответить, если он работает, нет.

HtmlEdit txtbox = new HtmlEdit(bw); 
txtbox.SearchPropeties.Add(HtmlEdit.PropertyNames.Id, "userfilter"); 
// use instance property only, if there are multiple windows opened. currently focussed window will be with the first instance 
//txtbox.SearchPropeties.Add(HtmlEdit.PropertyNames.Instance, "1"); 

if (txtbox.WaitForControlExist()) 
{ 
    Keyboard.SendKeys(txtbox, name); 
} 
Смежные вопросы