0

运行我的代码时出现此错误。

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: ''System.MarshalByRefObject.InvokeMember(string, 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>

密码和用户名字段生成正确,但单击按钮时出现“无法访问”错误。

4

2 回答 2

0

我知道了!

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

不需要 InvokeMember。

于 2018-08-30T20:03:22.977 回答
0

这不是类可访问性的问题吗?或功能?

看看这篇关于资源的帖子,但它可能与您的情况相同:“资源”由于其保护级别而无法访问

于 2018-08-30T16:39:17.887 回答