如何初始化Selenium页面对象中的WebElements

本文关键字:对象 WebElements 面对 初始化 Selenium | 更新日期: 2023-09-27 18:28:31

我是Selenium的新手,希望了解更多信息,我正在将Selenium WebDriver与C#一起使用。

这就是我启动WebElement:的方式

CarouselSliderNextButton = DriverInitializer.driver
        .FindElement(By.XPath("//a[@class='buttons next']"));

但是,如果元素由于某种原因不存在;例如隐藏,那么它就不起作用。我知道我可以在开始之前检查元素是否存在,但如果我这样做是正确的,我很想听听专家的意见。

如何初始化Selenium页面对象中的WebElements

我并不自称是专家,但我的想法是:

  • 您不"启动"web元素
  • 您找到一个web元素
  • 首先,您需要从html文件中找到要定位的元素。你可以在开发者模式下使用谷歌或Firefox来找到它。我建议你为Firefox安装"Firebug",它非常有用
  • 您可以从HTML文件中"看到"但找不到元素的原因有多种:
  • 1:这个元素在iframe上,这种情况要求你先定位这个iframe,然后定位元素
  • 2:这个元素还不可见,例如,只有当你首先将鼠标悬停在某个区域上时,才会出现下拉箭头按钮

但你正朝着正确的方向前进。

如果您试图初始化WebElement,我使用:

WebElement element = driver.findElement(By.tagName("div"));

因为大多数DOM都有div标记。然后,在尝试找到一个存在的元素(不是div标记)后,检查:

if (element.getTagName().equals("div")){
    System.out.println("Element not found...");
}

var instantEstimateDiv: WebElement? = null=>Kotlin

CCD_ 3=>JAVA