vb.net Selenium Как реализовать «если webelement существует, то делать что-то»? - PullRequest
0 голосов
/ 31 декабря 2018

Я пробовал это (в сценарии, когда элемент не существует) и всегда получал

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 голосов
/ 31 декабря 2018

Предполагая, что API-интерфейс WebDriver для VB такой же, как и для Java, вы можете использовать тот же подход, который предлагается здесь: https://stackoverflow.com/a/9188374/5803406.

0 голосов
/ 31 декабря 2018

Вам нужно использовать блок try catch, чтобы обработать это, а затем выполнить действие над элементом, если он не равен нулю. Что-то вроде этого:

webelement ele = null
try
{
   ele = driver.FindElement("your condition");
}
catch(NoSuchElementException ex)
{
  #do-nothing
}
if(ele != null)
{
   #perform your action
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...