创建可由用户单击但不能通过JS单击的元素

时间:2020-06-12 07:26:16

标签: javascript mouseclick-event

在自动化我们的e2e测试时,我遇到了几个在IE11中可以手动单击的元素,但是我无法通过Selenium或JS中的click()方法(它们确实具有)来单击它们。

这让我感到奇怪-首先如何制作这样的元素?可能吗?还是我错过了什么?

1 个答案:

答案 0 :(得分:0)

您可以使用event.type来检测它是由鼠标还是键盘触发的,然后才执行代码。

Logic app design
document.getElementById('myButton').addEventListener('mousedown', function(){myFunction(event, this);});

document.getElementById('myButton').addEventListener('keypress', function(){myFunction(event, this);});

function myFunction(event, id) {
    if (event.type == 'mousedown') {
        // do something
        alert('the mousedown event');
        return;
    }
    if (event.type == 'keypress') {
        // do something else
        alert('the keypress event');
        return;
    }
}

相关问题