2015-10-07 2 views
-2
public static void WaitAndSelectAnItem() 
{ 
WebDriver wait = new WebDriverWait(Driver.Instance, TimeSpan.FromSeconds(10)); 
var imageLink = wait.Until(d => 
{ 
    var elements = Driver.Instance.FindElement(By.CssSelector("")); 
    if (elements.Count > 0) 
     return elements[0]; 
    return null; 
    }); 
    imageLink.Click(); 
} 

Я пытаюсь дождаться появления элемента на странице, если он будет продолжен, щелкнув по нему. Однако я получаю сообщение об ошибке с графом в моей инструкции IF.IWebElement не содержит определения для 'Count'

Сообщение об ошибке: IWebElement не содержит определение для «Count», а метод расширения графа принимающего первого аргумент графа типа IWebElement может быть найдено (вы пропали без вести с помощью директивы или ссылки на сборку?)

+2

** Что сказать ошибка **? – SLaks

+3

Вместо этого используйте FindElements. (s в конце) Driver.Instance.FindElements (By.CssSelector ("")); – Morvader

+0

Собирался сказать: 'FindElement' возвращает один элемент,' FindElements' возвращает несколько, но @Morvader добрался до него первым. –

ответ

2

Вы пропустили final 's' on FindElement s

Если вы хотите получить несколько элементов, вы должны использовать вместо этого FindElements.

Это должно работать:

var elements = Driver.Instance.FindElements(By.CssSelector("")); 
if (elements.Count > 0) 
    return elements[0]; 
return null; 
+0

Отличная благодарность –

Смежные вопросы