Da das Eingabefeld <input type="text" max="40" size="35" class="
cc-parse-text"> weder einen Namen noch eine ID hat, musst du es über das Class-Attribut ausfindig machen. Leider gibt es keine GetElementByClass-Methode. Du musst also mit GetElementsByTagName alle <input>-Felder ausfindig machen und solange durch iterieren bist du das Feld mit
cc-parse-text als Class findest.
Funktioniert folgender Code bei dir?
Delphi-Quellcode:
var
Document: IHTMLDocument2;
Body: IHTMLElement2;
Tags: IHTMLElementCollection;
Tag: IHTMLElement;
I: Integer;
begin
Document := WebBrowser1.Document
as IHTMLDocument2;
Body := Document.Body
as IHTMLElement2;
Tags := Body.getElementsByTagName('
input');
for I := 0
to Tags.length - 1
do
begin
Tag := Tags.item(I, EmptyParam)
as IHTMLElement;
if Tag.className = '
cc-parse-text'
then
begin
IHtmlInputElement(Tag).Value := '
Dein neuer Text';
end;
end;
end;
Absenden des Eingabefelds:
Ist der von dir gepostete JavaScript- +
HTML-Code von einem <form>-Element umschlossen? Wenn ja kannst du einfach Submit des Forms aufrufen:
WebBrowser1.OleObject.document.forms.item(0).submit;
Falls nicht, wäre es ein Versuch wert wie bei dem Eingabefeld durch alle <button>-Element zu iterieren, bis du auf ClassName = 'ccu-button ccu-parse' (Abschicken-Button) oder ClassName = 'ccu-button ccu-parseverify-accept' (Annehmen-Button) stößt, den Button castest du dann auf IHtmlButtonElement statt IHtmlInputElement und hoffst das es eine Methode .Click oder .Submit gibt.
Eine weitere Möglichkeit die mir einfällt, wäre einen eigenen JavaScript-Code mittels TWebBrowser in der Seite auszuführen der den Submit des im
HTML vorhandenen Scripts anstößt bzw. ihn nachahmt / simuliert.