检查页面上是否存在元素的最佳方法是什么?

时间:2019-06-27 02:31:33

标签: c# selenium selenium-webdriver

我有一个表格,其中包含包含数据的单元格,对其进行操作。我只是在检查条件,如:

(ExtractTextFromElement(duoqTable, duoqRowNumber, 3, "'duoqTable'").Contains("Europe") ||
  ExtractTextFromElement(duoqTable, duoqRowNumber, 3, "'duoqTable'").Contains("Russia")

问题在于此IWebElement有时可能会消失,并且如果我在此条件块中,则会发生异常。如果该元素在每个条件语句之前都存在,我可以进行额外的检查,但它似乎无效。有什么更好的方法吗?

1 个答案:

答案 0 :(得分:2)

如果您使用find Elements方法而不是find Element,那么您不会获得异常。 “查找元素”返回需要检查其大小的Web元素列表。

if driver.findElements(By.className("xyz").size()>0
   driver.findElements(By.className("xyz").get(0).getText();
else
   System.out.println("No element found")

上面的代码不会引发任何异常,也不需要使用try / catch块。