Javascript 如何使用声明为div的html或java脚本单击按钮
我正在编写powershell脚本以登录网站。我想使用该按钮。单击功能,但找不到该按钮的id。以下是我通过检查发现的内容Javascript 如何使用声明为div的html或java脚本单击按钮,javascript,html,powershell,Javascript,Html,Powershell,我正在编写powershell脚本以登录网站。我想使用该按钮。单击功能,但找不到该按钮的id。以下是我通过检查发现的内容 <div tabindex="0" role="button" class="v-button v-widget default v-button-default"> <span class="v-button-wrap"> <span class="v-button-caption">Login</span>
<div tabindex="0" role="button" class="v-button v-widget default v-button-default">
<span class="v-button-wrap">
<span class="v-button-caption">Login</span>
</span>
</div>
<span class="v-button-wrap">
<span class="v-button-caption">Login</span>
</span>
<span class="v-button-caption">Login</span>
登录
登录
登录
提前感谢鉴于您不确定哪一个是您想要的,您可以只设置一个事件处理程序,该处理程序将为每个事件触发,然后对其进行查询,以获取能够识别它的内容
//将具有“v-button-caption”类的所有元素放入一个数组中
var buttons=Array.prototype.slice.call(document.queryselectoral(“.v-button-caption”);
//在阵列上循环
按钮。forEach(功能(btn){
//设置单击事件处理程序
btn.addEventListener(“单击”,函数(evt){
//打印出有关单击元素的一些标识信息
log(“您单击的元素的父元素是:+evt.target.parentElement.nodeName”);
});
});代码>
登录
登录
登录
那么,似乎有3个元素充当按钮,您想与哪一个进行交互?@ScottMarcus感谢您的快速回复。如果我能与其中的3个互动,那么我将尝试一个接一个地测试它们。谢谢汉克斯·斯科特。Shezratnani一旦你知道哪个元素是“按钮”,你就可以调用它的click
方法:element.click()
@Shezratnani有两个span
元素的父元素span
,所以你需要做更多的测试来知道是哪一个。在这两个span
元素中,只有一个元素的父元素也是span
,它本身有一个父元素是div
,因此您可以测试.parentNode.parentNode
@Shezratnani它不会是这样的。它应该是:evt.target.parentElement.parentElement.nodeName
。对于没有父元素的元素,它将返回为未定义的。@Shezratnani是的,这就是重点。HTML中只有一个span
具有div
的parent.parent。因此,现在您知道它是可以通过document.querySelector(“div>span>span.v-button-caption”)
找到的。