下面我的代码的一部分能够更改网站中复选框类名称的属性。代码运行得很好,结果显示了预期的选中标记,但是在更新页面后,该选中标记消失了,并且复选框未选中。我的目标是在复选框中打勾并保存更改。
'更新复选框类名称的代码:
Set elements = ie.document.getelementsbytagname("i")(2)
if elements.classname = "fa fa-square-o no" then
elements.classname = "fa fa-check-square yes"
end if
下面是检查过的html元素:
*在更改班级名称之前
<div tabindex="-1" role="gridcell" aria-selected="false" aria-readonly="true" aria-required="true" class="wj-cell dt-boolean wj-align-center" style="left: 538px; top: 116px; width: 39px; height: 29px;"><i class="fa fa-square-o no"></i></div>
<i class="fa fa-square-o no"></i>
*更改班级名称后
<div tabindex="-1" role="gridcell" aria-selected="false" aria-readonly="true" aria-required="true" class="wj-cell dt-boolean wj-align-center" style="left: 538px; top: 116px; width: 39px; height: 29px;"><i class="fa fa-square-o no"></i></div>
<i class="fa fa-check-square yes"></i>
*在手动取消选中该框并右键单击该框以检查元素之后,此新的html代码弹出
<div class="axm-grid-active-editor" style="display: block; top: 225px; left: 568px; width: 38px; height: 29px;"> <div class="df__control no-border is_modified " aria-label=""><div class="df__control--boolean"><span class="modified-flag"></span> <label class="switch switch-green"><input type="checkbox" class="switch-input"> <span class="switch-label" data-on="Yes" data-off="No"></span> <span class="switch-handle"></span></label></div></div></div>
*手动单击复选框后的HTML代码
<div tabindex="-1" role="gridcell" aria-selected="false" aria-readonly="true" aria-required="true" class="wj-cell dt-boolean wj-align-center axm-current-cell" style="left: 538px; top: 174px; width: 39px; height: 29px;"><i class="fa fa-check-square yes"></i><span class="k-dirty "></span></div>
我仍在学习使用VBA控制网站。希望这些信息能为您提供所有足以给我一些指导的信息。如果没有,请告诉我,我看看是否还能提供其他任何东西。
谢谢大家。
答案 0 :(得分:0)
经过长时间的研究,我能够使用Selenium和Sendkey方法来完成所需的工作。