由于页面加载时间不同,如何等待元素被找到

时间:2018-10-26 05:15:12

标签: selenium-webdriver xpath automated-tests testng

我正在测试一个电子商务网站,并且我有一个脚本使用testng框架在硒中运行。有时,脚本运行良好,有时需要一段时间,因为页面加载速度较慢,并且找不到任何元素。我应该怎么做才能优化当前代码?任何帮助

2 个答案:

答案 0 :(得分:2)

您可以使用WebDriverWait

它将等待直到满足特定条件。下面的代码将等待直到元素可见:

WebElement element = driver.findElement(By.id("some-valid-element-id"));

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOf(element));

答案 1 :(得分:0)

导航到新网页的任何地方都使用页面加载超时是一种很好的做法。 它将等到所有元素都加载完毕或40秒后再显示。所以基本上它将检查两个条件

  1. 耕种所有要加载的元素
  2. 直到40秒。 (您可以根据需要给时间)
  

driver.manage()。timeouts()。implicitlyWait(20,TimeUnit.SECONDS);   driver.manage()。timeouts()。pageLoadTimeout(40,TimeUnit.SECONDS);