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;
}
}