验证是否可以与Web元素进行交互

时间:2012-01-11 02:48:45

标签: javascript

我正在使用webdriver为我正在处理的项目编写自动化测试脚本。在我的一个脚本中,在处理付款时,页面上会出现“希望之轮”。所有其他元素都显示在页面上,但旋转轮始终聚焦。因此,我无法点击/与页面上的任何元素进行交互。

通常在点击元素之前我会验证它是否在页面上。我的问题是 元素在页面上,但由于轮子聚焦,我无法点击它。有没有办法验证元素可以具有焦点/是活动元素?否则我被困在使用显式等待因为我等待jquery隐式等待似乎不起作用。

欢迎所有想法。

谢谢, 詹姆斯

我的一个想法是使用jquery来关注元素,然后只在元素聚焦后才开始下一个动作。有谁知道这会有限制吗?

我尝试使用以下内容来聚焦元素然后验证焦点:

arguments[0].focus();
if(document.activeElement==arguments[0]){
    return true;
}
else{
    return false
}

(其中arguments [0]是我希望点击的希望轮子背后的webelement)。不幸的是,当轮子仍在旋转并且消失焦点时,它会返回true ...

1 个答案:

答案 0 :(得分:2)

假设这个“希望之轮”是一个覆盖整个页面的屏蔽元素,在尝试与底层元素交互之前,应该等待它被隐藏或从DOM中删除(就像你手动一样)。