Произошло необработанное исключение типа 'WatiN.Core.Exceptions.RunScriptException' в WatiN.Core.dll
Произошло необработанное исключение типа 'WatiN.Core.Exceptions.RunScriptException' в WatiN.Core.dll Дополнительная информация: RunScript не удалось.... Кто-нибудь может дать решение этой ошибки???
browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com");
browser.TextField(Find.ByName("password")).TypeText("98983662634");
browser.Div(Find.ByName("submit")).Click();
я получаю вышеуказанную ошибку, когда отладчик достигает события typetext... кто-нибудь может мне помочь, пожалуйста???
2 ответа
Я использую неверную версию Internet Explorer...watin поддерживает только IE 6,7 и 8 версию... теперь я использую Firefox версии 2.0 ... и версия до 3.6 поддерживается в watin... Вот почему дает ошибку в watin.core.dll... Остальной код такой же.... в любом случае Спасибо за помощь, приятель!:)
Хорошо, после вашего редактирования это имеет больше смысла. Код, который вы разместили, кажется, весь ваш код. Между этой строкой:
browser.GoTo("http://www.errajatsharma.com/invoice/");
и это линии
browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com");
browser.TextField(Find.ByName("пароль")) TypeText("98983662634").
программе нужно подождать, пока страница загрузится (подумайте об этом, для загрузки этой веб-страницы может потребоваться 4 секунды, 1 секунда, 2 минуты и т. д.), чтобы это ожидание (независимо от времени) watin имеет следующий код:
browser.WaitForComplete();
Таким образом, добавив эту строку кода между:
browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.WaitForComplete();
browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com");
browser.TextField(Find.ByName("password")).TypeText("98983662634");
browser.Div(Find.ByName("submit")).Click();
Если это ваша проблема, вы должны быть в состоянии войти в систему сейчас с этими учетными данными (я только что попробовал, но эти учетные данные не являются реальными, поэтому вам нужно заменить их вашими реальными данными для входа).
РЕДАКТИРОВАТЬ:
Попробуй это:
browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.WaitForComplete();
TextField email = browser.TextField(Find.ByName("email"));
if(email.Exists){
email.TypeText("wolverine.rajat@gmail.com");
}else{
MessageBox.Show("Can't find email textbox");
}
если вы по-прежнему получаете сообщение "Не удается найти текстовое поле электронной почты", значит, адрес электронной почты отсутствует на этой странице. Вы также можете попробовать
email.Value = "Something@something.com";
РЕДАКТИРОВАТЬ 2:
Я только что запустил этот код:
browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.WaitForComplete(); browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com"); browser.TextField(Find.ByName("password")).TypeText("98983662634");
browser.Button(Find.ByName("submit")).Click();
И запускался как ожидалось (единственное отличие в том, что вы нажимали на DIV (с именем submit) вместо кнопки (также называемой submit) внутри DIV). Если это не помогло, у вас возникла другая проблема (попробуйте более новую версию IE и т. Д.)