UPDATE
На самом деле я только что видел информацию, что есть ie.ElementWithTag сейчас, посмотрите на this вопрос.
Так может быть, остальная часть этого поста не будет, что полезно
Не иметь готовое решение для вас, но может быть отправной точкой.
Некоторое время назад я писал сценарий автоматизации для одной страницы. Я использовал powershell, но его легко переносить на C# (который, как я полагаю, вы используете).
Таким образом, в этой части сценария я поиска на странице элемент, который имеет тег вход и назван Сохранить изменения.
#getting property from com object::IHTMLDOMAttribute
function getProperty ([System.__ComObject] $obj, [string] $prop)
{
[System.__ComObject].InvokeMember($prop, [System.Reflection.BindingFlags]::GetProperty, $null, $obj, $null)
}
$ie = new-object -com "InternetExplorer.Application";
$ie.visible = $true;
$ie.navigate("http://mytestpage.com");
$doc = $ie.Document;
$saveButton = $null;
$inputElts = $null;
$inputElts = $doc.getElementsByTagName('input')
foreach ($elt in $inputElts)
{
$a = $elt.getAttributeNode('value')
if ($a -and (getProperty $a 'nodeValue') -eq 'Save changes')
{
$saveButton = $elt;
break;
}
}
Так что если вы должны заменить часть в цикле, который ищет Сохранить изменения свойства элемента (и удалить GetProperty объявления) с проверкой надлежащего класса, чем это следует сделать трюк.