На этот вопрос уже дан ответ. Однако я рекомендовал вам добавить этот метод в ваш скрипт для обработки NoSuchElementException , когда ваш xpath не найден или недействителен, а также для обработки других исключений.
public static bool existsElement(IWebDriver _driver,By by,int waitBySecond,string message)
{
WebDriverWait wait = new WebDriverWait(_driver, new TimeSpan(0, 0, waitBySecond));
wait.Message = message;
try
{
// check _driver.FindElement(by) or wait element to check
}
catch (WebDriverTimeoutException ex)
{
Console.WriteLine("Message : " + ex.Message);
Console.WriteLine("StackTrace: " + ex.StackTrace);
return false;
}
catch(NoSuchElementException ex)
{
Console.WriteLine("Message : " + ex.Message);
Console.WriteLine("StackTrace: " + ex.StackTrace);
return false;
}
catch(Exception e)
{
Console.WriteLine("Message : " + wait.Message);
Console.WriteLine("StackTrace: " + ex.StackTrace);
return false;
}
return true;
}
Переменные, которые вы ищете, называются __ FILE __
и __ LINE __
, Простое отображение в vim может дать вам желаемый результат:
:map <C-L> oecho __FILE__ . ':' . __LINE__ . " - ";<C-O>h
o
- Начать вставку под текущей строкой echo __FILE__. ':'. __ЛИНИЯ__ . "-";
- Запишите эту строку
- Выполните одиночную команду в командном режиме h
- Перейдите на один символ влево,