vb.net Selenium如何实现“如果存在webelement则做一些事情”?

时间:2018-12-31 02:29:16

标签: vb.net selenium selenium-webdriver selenium-chromedriver

我尝试了这些(在元素不存在的情况下)并且总是得到

  

OpenQA.Selenium.NoSuchElementException


If driver.FindElement(By.XPath("//input[@id='username']")).Displayed = True Then
     driver.FindElement(By.XPath("//input[@id='username']")).Click()
 End If

  If driver.FindElement(By.XPath("//input[@id='username']")) = True Then
        driver.FindElement(By.XPath("//input[@id='username']")).Click()

    If driver.FindElement(By.XPath("//input[@id='username']")).Displayed Then
        driver.FindElement(By.XPath("//input[@id='username']")).Click()

2 个答案:

答案 0 :(得分:0)

您需要使用try catch块来处理此问题,然后在不为null的元素上执行操作。

webelement ele = null
try
{
   ele = driver.FindElement("your condition");
}
catch(NoSuchElementException ex)
{
  #do-nothing
}
if(ele != null)
{
   #perform your action
}

答案 1 :(得分:0)

假设WebDriver API在VB和Java中都是相同的,则可以使用此处建议的相同方法:https://stackoverflow.com/a/9188374/5803406