Показать сообщение отдельно
  #2  
Старый 12.12.2013, 12:17
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от krasnyakjohn
Вот так вот происходит заполнение полей логина и пароля и нажимается кнопка "Войти":

Код:
.....
  U:=webbrowser1.oleobject.document.getelementbyid('id_username');
  U.value:=Edit3.Text;
.....

То вылазит ошибка:


и подсвечивается строка:
Код:
U.value:=Edit3.Text;

Как я только не пробовал проверять, вошли мы или нет, получаю такую ошибку.
Помогите, пожалуйста.
Скорее всего элемент с таким id не был найден (возможно страница ещё не успела до конца прогрузиться, а может и действительно нет такого элемента на странице). Нужно выполнять проверку найден ли такой элемент, так как в случае если не найден будет получен nil, а при попытке обратиться по этому адресу однозначно получим исключение "Access Violation".

Пример проверки был ли найден элемент у которого id имеет значение "id_username":
Код:
  U:=webbrowser1.oleobject.document.getelementbyid('id_username');
  if not Assigned(U) then raise Exception.Create('Элемент с id "id_username" не найден');
  U.value:=Edit3.Text;
Ответить с цитированием