有没有一种方法可以使用Selenium和Java等待表格完全加载?在我的情况下,看起来表格是使用ajax和/或jquery加载的。到目前为止,我能找到的唯一可能的解决方案就是在毫秒级别上设置一个简单的超时/暂停。我正在寻找更高级的解决方案,而不是硬编码的解决方案。谢谢
WebDriverWait
和ExpectedConditions.visibilityOfElementLocated
,用于等待在DOM
上可见的元素。您可以按照以下方式尝试:WebDriverWait wait = new WebDriverWait(driver, 30);
WebElement el = wait.until(ExpectedConditions.visibilityOfElementLocated(By...));
注意:在这里您可以提供作为定位符的By
,例如您的表格元素的.id()
,.className()
,.xpath()
,.cssSelector()
等等。它会等待30
秒来检查您的表格在DOM
上的可见性。
如果元素在30秒
内不可见,则会抛出TimeoutException
异常。
例如:如果您想要通过id
检查表格的可见性,只需运行wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("your table id")));
您也可以增加或减少超时时间。
希望这能帮到您..:)