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; |