关于如何检查元素是否被点击:如何检查元素是否被点击 – selenium

How to check an element clicked or not - selenium

我正在尝试使用 selenium 来检查点击功能。在这里,我可以通过测试用例单击特定元素,但是对于我的测试用例透视图,我需要返回元素是否被单击。如果点击发生,它应该返回 true,否则需要返回 false。
这就是我做点击操作的方式。

1
\t\tfind(By.xpath("elementpath")).click();

您可以将监听器添加到元素和 setAttribute 作为 javascript 的一部分。单击元素后检查属性。

当您单击元素时,以下代码将发出警报。 (在 Python 中实现-execute_script = javascript 执行)

1
2
3
4
5
element = driver.find_element_by_xpath("element_xpath")
driver.execute_script("var ele = arguments[0];ele.addEventListener('click', function() {ele.setAttribute('automationTrack','true');});",element)
element.click()
# now check the onclick attribute
print(element.get_attribute("automationTrack"))

输出:

1
true


请看看下面的方法,它会更可靠,并给你想要的结果,因为它只会在元素变为可点击时点击


您可以让 try-catch 块为您执行此操作。

1
2
3
4
5
6
try{
   find(By.xpath("elementpath")).click();
}catch(StaleElementReferenceException e){
   return false;
}
return true;