2016-05-26 11 views
0

Привет я пытаюсь нажать на кнопку поиска с помощью WatiN кодаWatin ползет с кнопки # нажмите отправить страницу, игнорируя значение текстовое поле вводится

IE ie = new IE(); 
ie.GoTo("http://www.apartments.com/"); 
ie.TextField(Find.ById("quickSearchLookup")).TypeText("5000"); 
Link link = ie.Link(Find.ByUrl("http://www.apartments.com/search/")); 
link.Click(); 

я также попытался это

ie.TextField(Find.ById("quickSearchLookup")).Focus(); 
ie.TextField(Find.ById("quickSearchLookup")).Value = "5000"; 

вместо напечатайте текст

, но при нажатии на него игнорируется значение, введенное в текстовое поле, и получить значение по умолчанию здесь находится источник html страницы

<input type="text" id="quickSearchLookup" class="quickSearchLookup hasPrefilledValue" autocorrect="false" placeholder="Search by Location or Point of Interest"> 
 

 
and here is the click button 
 
<a href="http://www.apartments.com/search/" class="go" title="Search apartments for rent"><span>Go</span></a>

ответ

0

Этот сайт имеет код, чтобы каждый раз, когда вы сосредоточены на странице будет очистить текстовое поле и начать с нуля. Если вы запускаете программу и переключаетесь туда и обратно, окно поиска будет очищено, поэтому старайтесь избегать этого (SHIFT + TAB, чтобы установить фокус на IE-Chrome и т. Д.).

Следующий код делает то, что вам нужно, просто запустите его и после его завершения вернитесь в свой браузер (или, что еще лучше, если у вас есть несколько мониторов, установите точку останова в верхней части кода, ваш браузер открывает его на второй монитор, и вы сможете увидеть все, что происходит во время вашего шага).

using (IE ie = new IE()) 
    { 
     ie.GoTo("http://www.apartments.com/"); 
     ie.ShowWindow(WatiN.Core.Native.Windows.NativeMethods.WindowShowStyle.ShowMaximized); 
     ie.WaitForComplete(); 
     ie.TextField(Find.ById("quickSearchLookup")).TypeText("5000"); 
     var go = ie.Link(Find.ByClass("go")); 
     if (go.Exists) 
     { 
      go.Click(); 
     } 
    } 

Надеюсь, это поможет.