我需要单击此元素。 id并不恒定,并且每次出现按钮时都会重新生成。 按类别搜索提供了太多选择。 找到并单击它的好方法是什么? 元素:
<input type="button" class="simpleInputPushButton" value=OK id="ext-gen141">
为了澄清,我正在使用selenium来自动化站点,出于某些原因,selenium会将此元素显示为未显示,因此我需要使用JS。在这种情况下,可以使用jQuery机器人。
答案 0 :(得分:0)
您可以通过其value
获得该元素。我相信元素的value
将是相同的:
var elem = document.querySelector('input[value=OK]');
console.log(elem);
//then assign click event
elem.addEventListener('click', function() {
console.log('clicked elem with id ' + this.id);
})
<input type="button" class="simpleInputPushButton" value=OK id="ext-gen141">
答案 1 :(得分:0)
您可以使用document.querySelector
获取元素。随附的onclick
仅用于测试
let m = document.querySelector('input[value="OK"]').click()
function test() {
alert('Hello')
}
<input type="button" class="simpleInputPushButton" onclick='test()' value='OK' id="ext-gen141">
答案 2 :(得分:-1)
通过ID获取此元素并触发其点击事件
document.getElementById('ext-gen141').click();
答案 3 :(得分:-1)
您可以使用选择器的组合来唯一地标识元素:
基于父级选择器:
div.parentClassName input[type="button"].simpleInputPushButton
基于部分属性值匹配:
StartsWith
input[type="button"][id^="ext-gen"].simpleInputPushButton
EndsWith
input[type="button"][id$="-141"].simpleInputPushButton
包含
input[type="button"][id~="gen"].simpleInputPushButton