InvokeMember("Click") Web 浏览器控件错误 C# WPF
Posted
技术标签:
【中文标题】InvokeMember("Click") Web 浏览器控件错误 C# WPF【英文标题】:InvokeMember("Click") Web Browser control error 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>
密码和用户名字段生成正确,但单击按钮时出现“无法访问”错误。
【问题讨论】:
【参考方案1】:这不是类可访问性的问题吗?还是功能?
看看这篇关于资源的帖子,但它可能与你的情况相同:'Resource' is inaccessible due to its protection level
【讨论】:
我认为你是正确的,因为如果我将 InvokeMember ("submit") 更改为 ("Click") 我会得到同样的错误。所以它在触发之前没有找到它正在点击异常的按钮。我将如何解决这个问题?我似乎找不到帖子所说的“访问修饰符”选项。【参考方案2】:我明白了!
d.GetElementsByName("save")[0].Click();
不需要 InvokeMember。
【讨论】:
以上是关于InvokeMember("Click") Web 浏览器控件错误 C# WPF的主要内容,如果未能解决你的问题,请参考以下文章