UPDATE
На самом деле я только что увидел информацию, что есть ie.ElementWithTag сейчас, посмотрите на этот вопрос.
Так что, возможно, остальная часть этого поста не будет такой полезной
У вас нет готового решения, но, возможно, отправная точка.
Некоторое время назад я писал сценарий автоматизации для одной страницы. Я использовал powershell, но его легко перенести на C # (который, я полагаю, вы используете).
Итак, в этой части скрипта я ищу элемент страницы с тегом input и именем Save Changes .
#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;
}
}
Так что, если вы замените деталь в цикле, которая ищет свойство Save Changes элемента (и удалите объявление getProperty), проверкой правильности класса, чем это нужно сделать.