Selenium C # попробуйте / поймайте помощь, пожалуйста - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь написать попытку / поймать в Selenium C #, где, если веб-элемент НЕ присутствует, перехватить исключение NoSuchElementException и, если элемент присутствует, выдать пользовательское исключение. Довольно зеленый в кодировании, поэтому вся помощь будет принята с благодарностью. Спасибо!

try
        {
          IWebElement spIcon = driver.FindElement(By.CssSelector("#gridview-1080-record-2658335 > td.x-grid-cell.x-grid-td.x-grid-cell-headerId-propertiesColInv.wrappable.icon-spacer.x-unselectable.wrappable.icon-spacer > div > i"));
        }
        catch (NoSuchElementException spIcoNotDisplayed)
        {
            //if spIcon is NOT present; 
            //then continue;
            //else throw custom exception 
        }

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Хорошо, я не уверен, что это то, что вы хотите, потому что то, что вы спрашиваете в тексте, отличается от вашего кода. Этот код перехватывает все исключения и, если это исключение NoSuchElementException, поддерживает работу программы. В противном случае вы бросаете перехваченное исключение или ваше собственное исключение.

try
{
    IWebElement spIcon = driver.FindElement(By.CssSelector("#gridview-1080-record-2658335 > td.x-grid-cell.x-grid-td.x-grid-cell-headerId-propertiesColInv.wrappable.icon-spacer.x-unselectable.wrappable.icon-spacer > div > i"));
}
catch(Exception ex)
{
    //Catches every exception
    if(ex is NoSuchElementException)
    {
        //Do nothing, if there's no icon your code will continue as if nothing happened
        //Or throw a custom exception for this case
    }
    else
    {
        //If there's an icon throw the exception
        //Here you can throw a custom exception
        throw ex;
    }
}
0 голосов
/ 19 ноября 2018
var elementPresent = true;
try {
    IWebElement spIcon = driver.FindElement(By.CssSelector("#gridview-1080-record-2658335 > td.x-grid-cell.x-grid-td.x-grid-cell-headerId-propertiesColInv.wrappable.icon-spacer.x-unselectable.wrappable.icon-spacer > div > i"));
}
catch (NoSuchElementException spIconNotDisplayed) {
    elementPresent = false;
}

if (elementPresent) {
    throw new ElementPresentException("The spIcon was found");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...