我正在尝试使用Excel VBA在网站上填写表单。我创建了一个InternetExplorer.Application,导航到页面并使用If UserForm1.TC2.Value = True Then
或类似PostCode = objIE.document.getElementsByName("ProjectFile-ProposalAddress-PostCode")(0).Value
之类的内容查找了大量数据。
然后,我导航到一个新页面,并使用我以前的数据来填写它。
这就是我遇到麻烦的地方。我想勾选一个复选框'新许可',其代码为;
<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>
没有名字要锁定。我不是HTML专家,但还有一些代码引用了这个复选框(我认为)
var model = { "NewPermit": null, "StagedPermit": null, "AmendedPermit": null,
等。
我使用.getElementsByTagName("Span")
使用各种.tagName
等运行代码循环。以下结果适用于新许可框:
.tagName
=跨度
.outerHTML
=新许可
.outerText
= .innerHTML
= .innertext
=新许可
.isContentEditable
=错误
.tostring
= [object HTMLSpanElement]
.ID
=“”
这是密码登录的背后,我无法公开发布该链接。但是可以通过PM等来得到答案。
答案 0 :(得分:3)
使用getElementsByTagName('input')
,然后使用Checked = True
Dim element as Object
element = getElementsByTagName('input')
element.Checked = True
假设复选框是页面上唯一的输入元素。如果没有,请进行循环并确定所需的复选框