![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Здравствуйте. 
		
	
		
		
		
		
		
	
		
		
	
	
	Пишу программу, есть такой обработчик клика по кнопке: Код: 
	procedure TForm2.Button11Click(Sender: TObject);
var
U,P : Variant;
form:olevariant;
f,i:Integer;
r: TRegExpr;
Doc : IHTMLDocument2;
s:string;
begin
WebBrowser1.Navigate('http://web.iqsms.ru/login/?next=/contacts/');
  while WebBrowser1.ReadyState<>4 do
  Application.ProcessMessages;
  U:=webbrowser1.oleobject.document.getelementbyid('id_username');
  U.value:=Edit3.Text;
  P:=webbrowser1.oleobject.document.getelementbyid('id_password');
  P.value:=Edit4.Text;
  //U.style.display := 'block';
  //P.style.display := 'block';
  for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do
  begin
     form:=WebBrowser1.OleObject.Document.forms.Item(f).elements;
        for i:=0 to form.Length-1 do
          if (form.item(i).type='submit')  then
          begin
          form.item(i).click;
          end;
 
  end;
  WebBrowser1.Navigate('http://web.iqsms.ru/contacts/');
  while WebBrowser1.ReadyState<>4 do
  Application.ProcessMessages;
  Doc := WebBrowser1.Document as IHTMLDocument2;  // получили hmtl код страницы
  r := TRegExpr.Create;
  s:=Doc.body.innerHTML;
  r.InputString :=s; // во входяшую строку положили весь html код
  memo3.Text:=s;
try
  r.Expression :='<A href="/deliveries/add-delivery/">(.*?)</A>';
  if r.Exec(s) then
begin
    Groupbox8.Caption:='Отправить смс заказчику';
end
  else ShowMessage('Авторизация не прошла');
    finally
r.Free;
end;
end;Суть кода: должна произойти авторизация на сайте http://web.iqsms.ru/login/?next=/contacts/ Вот так вот происходит заполнение полей логина и пароля и нажимается кнопка "Войти": Код: 
	procedure TForm2.Button11Click(Sender: TObject);
var
U,P : Variant;
form:olevariant;
f,i:Integer;
r: TRegExpr;
Doc : IHTMLDocument2;
s:string;
begin
WebBrowser1.Navigate('http://web.iqsms.ru/login/?next=/contacts/');
  while WebBrowser1.ReadyState<>4 do
  Application.ProcessMessages;
  U:=webbrowser1.oleobject.document.getelementbyid('id_username');
  U.value:=Edit3.Text;
  P:=webbrowser1.oleobject.document.getelementbyid('id_password');
  P.value:=Edit4.Text;
  //U.style.display := 'block';
  //P.style.display := 'block';
  for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do
  begin
     form:=WebBrowser1.OleObject.Document.forms.Item(f).elements;
        for i:=0 to form.Length-1 do
          if (form.item(i).type='submit')  then
          begin
          form.item(i).click;
          end;
 
  end;Но как только я пытаюсь проверить, зашли мы или нет, дописывая код: Код: 
	WebBrowser1.Navigate('http://web.iqsms.ru/contacts/');
  while WebBrowser1.ReadyState<>4 do
  Application.ProcessMessages;
  Doc := WebBrowser1.Document as IHTMLDocument2;  // получили hmtl код страницы
  r := TRegExpr.Create;
  s:=Doc.body.innerHTML;
  r.InputString :=s; // во входяшую строку положили весь html код
  memo3.Text:=s;
try
  r.Expression :='<A href="/deliveries/add-delivery/">(.*?)</A>';
  if r.Exec(s) then
begin
    Groupbox8.Caption:='Отправить смс заказчику';
end
  else ShowMessage('Авторизация не прошла');
    finally
r.Free;
end;
end;То вылазит ошибка: и подсвечивается строка: Код: 
	U.value:=Edit3.Text; Как я только не пробовал проверять, вошли мы или нет, получаю такую ошибку. Помогите, пожалуйста.  |