如何在Excel中运行网站表单而不必使用Sendkeys?

我正在尝试使用Excel VBA在网站上填写表格。 我创build了一个InternetExplorer.Application,导航到页面,并查找了一堆数据,使用If UserForm1.TC2.Value = True Then或类似PostCode = objIE.document.getElementsByName("ProjectFile-ProposalAddress-PostCode")(0).Value等。

之后,我导航到一个新的页面,并使用我以前的数据来填写。

这是我遇到麻烦的地方。 我想勾选一个checkbox“新许可”,其代码是;

 <form id="document-form"> <div class="generate-form form-horizontal"> <div class="form-group"><label class="col-sm-3 control-label"><span>New Permit</span></label><div class="input col-sm-7"> <div class="checkbox"> <input type="checkbox" data-bind="checked: NewPermit" /> </div></div></div><div class="form-group"><label class="col-sm-3 control-label"><span>Staged Permit</span></label><div class="input col-sm-7"> <div class="checkbox"> <input type="checkbox" data-bind="checked: StagedPermit" /> </div> 

其中没有名称可以locking。 我不是一个HTML专家,但还有一些代码是指这个checkbox(我认为)

  var model = { "NewPermit": null, "StagedPermit": null, "AmendedPermit": null, 

等等

我已经使用.getElementsByTagName("Span")与各种.tagName等运行代码循环。下面的结果是新的许可证框:

.tagName = Span

.outerHTML =新许可证

.outerText = .innerHTML = .innertext =新许可证

.isContentEditable = False

.tostring = [object HTMLSpanElement]

.ID =“”

这是密码login后,我不能公开链接。 但可以通过PM等工作来得到答案。

使用getElementsByTagName('input') ,然后使用Checked = True

 Dim element as Object element = getElementsByTagName('input') element.Checked = True 

假设checkbox是页面上唯一的input元素。 如果不是的话,做一个循环,并确定所需的checkbox