Пожалуйста, помогите мне исправить этот сбой в Windows XP и любой версии IE - PullRequest
0 голосов
/ 22 марта 2012

Я использую WATIN 2.1 с C #.Вот мой код

// Should I add something here like []
private void ProcessInkPresenter()
{
    String path = "http://localhost/index.asp?HOSTID=AD&USERID=&ALIAS=" + userName;
    Int32 startingRow = 1;
    using (var browser = new IE(path))
    {
        browser.AutoClose = true;
        try
        {
            try
            {
                browser.Image(Find.ByAlt("Use a password")).Click();
                browser.WaitForComplete(90);
                browser.TextField(Find.ByName("_MYPW")).TypeText(privateCurrentPassword);

                // the application keeps crashing in the line above
                // WatiN.Core.Exceptions.RunScriptException : RunScript failed
                //      ----> System.UnauthorizedAccessException : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

                browser.Image(Find.ByAlt("Verify password")).Click();
                browser.Link(Find.ByTitle("Change passwords")).Click();
                browser.TextField(Find.ByName("_NEWP1")).TypeText(privateNewPassword);
                browser.TextField(Find.ByName("_NEWP2")).TypeText(privateNewPassword);
                browser.Image(Find.ByName("SUBMIT-CHANGE")).Click();

Мне нужно, чтобы это работало с Internet Explorer 7 и выше на Windows XP.Не могли бы вы помочь мне с этим?

Я добавил детали CRASH в коде выше

Спасибо

1 Ответ

1 голос
/ 10 апреля 2012

Обнаружено ли поле?

var field = browser.TextField(Find.ByName("_MYPW"));
if(field.Exists)
    field.TypeText(privateCurrentPassword);

У меня была похожая проблема при попытке получить электронную почту типа ввода HTML5 .Это могут быть и другие причины, по которым Ватин не может добраться до поля.

...