#c# #selenium-webdriver
Вопрос:
Я пытался
private string GetId(int index)
{
var xPath = "xpath";
var name = driver.FindElements(By.XPath(xPath)).GetAttribute("href");
return name[0].Text;
}
Ошибка
… не содержит определения для «getAttribute» и не может быть найден доступный метод расширения «getAttribute», принимающий первый аргумент типа «ReadOnlyCollection» (у вас отсутствует директива using или ссылка на сборку?…
Комментарии:
1.
FindElements
возврат-это aReadOnlyCollection<WebElement>
, и вы пытаетесь вызватьGetAttribute
эту коллекцию, следовательно, причина ошибки, которую вы получаете. Вам нужны всеhref
атрибуты? Не могли бы вы обновить свой пост, чтобы включить более подробную информацию, примеры и ожидаемые результаты?
Ответ №1:
«водитель.findElements()» возвращает массив найденных элементов, поэтому, если вы хотите прочитать атрибут «href» первого найденного элемента, вам следует использовать этот код:
var name = driver.FindElements(By.XPath(xPath));
return name[0].GetAttribute("href");