【问题标题】:Check box not ticking on HTML WebBrowser VB.Net复选框未在 HTML WebBrowser VB.Net 上打勾
【发布时间】:2016-05-16 17:35:12
【问题描述】:

我正在尝试在页面加载时自动勾选 vb.net 网络浏览器上的文本框复选框的 HTML 如下

<input checked="checked" class="checkbox" id="order_terms" name="order[terms]" type="checkbox" value="1" style="position: absolute; top: -20%; left: -20%; display: block; width: 140%; height: 140%; margin: 0px; padding: 0px; border: 0px; opacity: 0; background: rgb(255, 255, 255);">

这是我试图用来勾选框的方法,但它似乎不起作用

WebBrowser2.Document.GetElementById("order_terms").SetAttribute("checked", "True")

感谢任何帮助

【问题讨论】:

  • PLZ 谁能帮帮我:(

标签: html asp.net vb.net


【解决方案1】:

您可以通过以下方式实现您的目标:

Dim Document As mshtml.HTMLDocument = DirectCast(WebBrowser2.Document, mshtml.HTMLDocument)
Dim Input As mshtml.HTMLInputElement = TryCast(Document.getElementById("order_terms"), mshtml.HTMLInputElement)

If Input IsNot Nothing Then
    input.checked = false 'Uncheck the checkbox
End If

(您需要添加对 microsoft.mshtml 的引用)

【讨论】:

  • 抱歉,VB.Net 2012 无法识别 element.checked
  • 如果您能提供帮助将不胜感激
  • 我编辑了答案。看一看。我相信它现在对你有用。至于我最初的答案,我认为您需要(可能)在错误类型中将 LateBinding 设置为“无”(这是 vs2015 默认值)。但是,使用此编辑后的答案,您可以按原样使用它,前提是您添加了 mshtml 参考。
  • 感谢您的回答,我添加了对 microsoft.mshtml 的引用并将代码添加到我的程序中,但它仍然没有选中复选框我不知道该怎么做
  • 好吧,在我的示例中,我取消选中了复选框 (Checked=False)。您确实将其修改为True,对吗?另外,你能确认一下 Input 不是什么吗?如果您尝试在调用 Load_Completed (WPF webbrowser) 事件之前执行代码,则 Input 将是空的,因此永远不会执行 Input,checked 条件。
猜你喜欢
  • 2023-02-09
  • 2012-05-23
  • 1970-01-01
  • 1970-01-01
  • 2010-12-15
  • 2016-04-26
  • 2013-10-12
  • 2020-09-28
  • 2013-09-01
相关资源
最近更新 更多