Почему мой код не находит поле формы входа на mail.com? - PullRequest
3 голосов
/ 13 февраля 2011

Предыдущий вопрос показал, что fld в следующем коде: nil.

procedure TForm1.Button2Click(Sender: TObject);
var
  doc: IHTMLDocument2;
  frm: IHTMLFormElement;
  fld: IHTMLInputTextElement;
begin
  doc := webbrowser1.Document as IHTMLDocument2;
  frm := doc.forms.item(0, EmptyParam) as IHTMLFormElement;
  fld := frm.item('login', EmptyParam) as IHTMLInputTextElement;

У меня есть TWebBrowser, который идет на mail.com, и мне интересно, почемуfrm.item возвращает nil.Это приводит меня к невозможности заполнить поле.На другом веб-сайте, например, gmail.com, он работает, когда я заполняю вместо «логин» - «электронная почта».

Я почти уверен, что имя поля «логин», потому что я могунайдите это в HTML-коде страницы: <input type="text" name="login" id="login" class="text" ...>.

1 Ответ

3 голосов
/ 13 февраля 2011

Я полагаю, что ответ на мой собственный о, такой глупый вопрос довольно прост.Если вы замените 0 на 2. Это сработает, потому что на странице несколько форм, а конкретное поле 'login' находится в форме 2 html-страницы

...