Nie wiem czy rozumiem do końca o co chodzi, ale nie 'przypisujesz znaczników html do komponentów', bo tak się nie da, musisz zrobić akcję, np. po naciśnięciu jakiegoś przycisku typu 'zaloguj' itp. i w niej ustawiać wartości obiektów w stronie html, na wartości obiektów z formularza. No np, jak w przykładzie logowania, tylko:
if field.tagName = 'INPUT' then (field as IHTMLInputElement).value := edit1.text;
edit1 - to pole edycji na formularzu, jego wartość pobiera się za pomocą wywołania: edit1.text. Kod więc ustawi tekst jakiegoś wcześniej szukanego pola edycji na stronie na tekst pola edycji na formularzu. Do naciskania przycisków znalazłem ciekawy przykład i trochę przerobiłem i pokomentowałem:
procedure TForm1.Button2Click(Sender: TObject);
var
ovElements: OleVariant;
i: Integer;
begin
// <input name=btnI type=submit style="margin-left:10px" value="Szczęśliwy traf" onclick="this.checked=1">
// tagName = input
// name = btnI
// type = submit
// value = "Szczęśliwy traf"
// forms.item(NR_FORMULARZA).elements V
ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements;
for i := 0 to (ovElements.Length - 1) do
if (ovElements.item(i).tagName = 'INPUT') and // jesli tagName = 'INPUT' ...oraz...
(ovElements.item(i).type = 'submit') and // jesli type = 'submit' ...oraz...
(ovElements.item(i).Value = 'Szczęśliwy traf') then // jesli value = 'Sczesliwy traf' ...wtedy...
ovElements.item(i).Click; // klikamy na przycisku...
end;
Potem dopiszę resztę, jeśli znajdę strony na których można by to sprawdzić, ale wszystko się robi podobnie.