Selenium快速找到元素存在的方法

时间:2017-12-17 05:51:57

标签: java selenium

我正在使用Selenium在网页上进行一些搜索和测试。在此页面上有大量可能存在或不存在的元素。大多数时候它们不存在但是在它们发现它们时发现它们是至关重要的。我已经使用了

WebElement.findElement(By);
WebElement.findElements(By);
WebDriver.findElement(By);
WebDriver.findElements(By);

当他们找不到与By参数匹配的任何元素时,所有这些方法都非常耗时。有更快的方法吗?在这一点上,我考虑多线程只是为了存在可能存在或可能不存在的元素,但这是另一种蠕虫,我宁愿不开放。

链接的重复问题并未解决我的问题的主要问题。主要问题是当findElement和findElements找不到任何元素时返回的时间。

1 个答案:

答案 0 :(得分:1)

让我个别解答你的问题:

  • Large number of elements that may or may not exist:我们不能搜索不存在的元素。相反,如果元素是 not_visible ,我们应该尝试将View Port中的元素与其进行交互。
  • methods are very time consuming findElement findElements 基于相同的 Algorithm 。所以在功能上都有类似的性能。因此,为了更好地与这些元素进行交互,我们需要构建唯一的 css xpath 以及 {{1}的匹配子句}
  • ExpectedConditionWebDriver.findElement(By):由于 WebElement.findElement(By) 始终带有 WebElement.findElement(By) 实例的基本参考,可能 WebDriver 在性能方面总是有优势。