InvokeMember ("Click") Ошибка управления веб-браузером C # WPF - PullRequest
0 голосов
/ 30 августа 2018

Я получаю эту ошибку при запуске моего кода.

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: '' System.MarshalByRefObject.InvokeMember (строка, System.Reflection.BindingFlags, System.Reflection.Binder, object [], System.Reflection.ParameterModifier [], System.Globalization.CultureInfo, string []) 'недоступен из-за его уровень защиты '

Я вижу, что при нажатии кнопки она находит правильное имя кнопки, но не нажимает ее. Ниже мой полный код.

//LOGIN 
    private void Login_Click(object sender, RoutedEventArgs e)
    {
        dynamic d = wb.Document;
        var el = d.GetElementsByTagName("input");
        var button = d.GetElementsByTagName("button");

        d.GetElementsByname("login")[0].value = this.NameBox.Text;
        d.GetElementsByName("password")[0].value = this.PWBox.Text;
        d.GetElementsByname("save")[0].InvokeMember("login");enter code here

    }

Это код кнопки

<buttons>
        <button name="save" class="k-btn-dark" type="submit">Login</button>

Поля «Пароль» и «Имя пользователя» генерируются правильно, но при нажатии кнопки появляется «недоступная» ошибка.

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Я ПОЛУЧИЛ ЭТО!

d.GetElementsByName("save")[0].Click();

Нет необходимости в InvokeMember.

0 голосов
/ 30 августа 2018

Разве это не проблема доступности классов? или функция?

Посмотрите на этот пост, в котором говорится о ресурсах, но он может быть таким же для вашего случая: «Ресурс» недоступен из-за уровня защиты

...