我的页面包含高级搜索链接,其中填写搜索条件后,会出现一个加载器,它根据搜索条件加载我的结果,接下来我需要执行删除。
我的脚本运行速度如此之快,以至于它不会等待加载程序消失并单击删除,这不应该发生,因为它们没有与我的搜索条件匹配的记录。
我使用的代码-
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
任何可以帮助我等待这种过程的人。
如有任何澄清,请告诉我。
最佳答案
由于填充搜索条件后会出现一个加载程序,它会根据搜索条件加载您的结果,然后您需要执行删除,因此我们有两种方法来解决此问题。
在第一种方法中,我们将等待加载程序
消失
,然后单击想要的WebElement
来删除
。我们将通过WebDriverWait
实现此方法,并将ExpectedConditions
设置为invisibilityOfElementLocated
,如下所示:WebDriverWait wait10 = new WebDriverWait(driver, 10); wait10.until(ExpectedConditions.invisibilityOfElementLocated(By.xpath("xpath_of_loader"))); driver.findElement(By.xpath("xpath_delete_button")).click();
在第二种方法中,我们将等待
WebElement
作为删除按钮可单击,然后单击想要WebElement
来删除
。我们将通过WebDriverWait
实现此方法,并将ExpectedConditions
设置为elementToBeClickable
,如下所示:WebDriverWait wait11 = new WebDriverWait(driver, 10); WebElement element11 = wait11.until(ExpectedConditions.elementToBeClickable(By.xpath("xpath_delete_button"))); element11.click();
关于java - 如何等待页面加载后再执行下一步操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45952001/