如何在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