【问题标题】:InvokeMember("Click") Web Browser control error C# WPFInvokeMember("Click") Web 浏览器控件错误 C# WPF
【发布时间】:2018-08-30 16:25:03
【问题描述】:

运行代码时出现此错误。

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: ''System.MarshalByRefObject.InvokeMember(字符串, System.Reflection.BindingFlags,System.Reflection.Binder,对象[], 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>

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

【问题讨论】:

    标签: c# wpf invokemember


    【解决方案1】:

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

    看看这篇关于资源的帖子,但它可能与你的情况相同:'Resource' is inaccessible due to its protection level

    【讨论】:

    • 我认为你是正确的,因为如果我将 InvokeMember ("submit") 更改为 ("Click") 我会得到同样的错误。所以它在触发之前没有找到它正在点击异常的按钮。我将如何解决这个问题?我似乎找不到帖子所说的“访问修饰符”选项。
    【解决方案2】:

    我明白了!

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

    不需要 InvokeMember。

    【讨论】:

      猜你喜欢
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 2012-03-01
      • 2017-03-07
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      相关资源
      最近更新 更多