Javascript GetElementByName в C# HtmlDocument

Я пишу веб-автоматизацию, которая заполняет длинные онлайн-формы на основе хранимых данных, а затем уведомляет пользователя о результатах. Сайт, который я автоматизирую, называет все его объекты, но не использует тег id. Есть ли что-то вроде HtmlDocument.GetElementById, который работает с тегом имени? Я не думаю, что GetElementsByTagName является правильным. Он не возвращает определенный элемент, а генерирует массив.

1 ответ

Решение

Вы можете перебирать элементы, возвращаемые GetElementsByTagName и проверить их name атрибут (который не совпадает с именем тега).

GetElementByTagName получает все элементы с одинаковым именем элемента (поэтому для изображений имя тега img).

var inputs = GetElementsByTagName("input");

for(var input in inputs)
{
  if(input.GetAttribute("name") == nameIAmLookingFor)
  {
    // do something
    break;
  }
}
Другие вопросы по тегам