任何人都可以帮助我,在Java中可以清除每次执行时由Selenium定位的缓存元素吗?
我正在测试一个无法访问HTML代码且其组件没有固定ID(动态)的应用程序,因此我需要通过其内容恢复元素,不仅仅是应用程序的url不会改变,因为组件是通过ajax / jQuery生成的。
因此,当使用已在其他场合使用的xPath时,selenium不会执行新搜索并始终返回相同的元素。
在xpath下面,我用来找到页面上的Enter按钮:
WebElement findElement = driver.findElement(By.xpath("//button[contains(.,'Entrar')]"));
如果您使用X页并在第Y页上重复相同的路径,请始终获取页面元素X.如何清除缓存?
答案 0 :(得分:1)
是否有任何异常抛出无法找到元素。可能在您的案例中,页面y中的元素无法通过webdriver定位,因此前一个元素仍然存在。
答案 1 :(得分:0)
每次要使用该元素时,只需调用代码来查找元素。
findElement = driver.findElement(By.xpath("//button[contains(.,'Entrar')]"));
因此,每次使用该元素时,都会找到Page中的新元素。