powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка при использовании ie.document.getelementbyid
3 сообщений из 3, страница 1 из 1
Ошибка при использовании ie.document.getelementbyid
    #39260585
Damasevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Подскажите пожалуйста почему предпоследняя строка вызывает ошибку Object required как будто такого элемента на сайте нет. Хотя он есть
Собственно нужна именно эта команда, команда выше написана просто чтобы удостовериться что я использую getelementbyid корректно.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.Navigate ("http://www.nopriz.ru/nreesters/elektronnyy-reestr")
Do Until ie.ReadyState = 4
    DoEvents
Loop
ie.Document.getelementbyid("title-search-input").Value = 1111
ie.Document.getelementbyid("admin_statement_type_inn").Value = 2222
Set ie = Nothing
...
Рейтинг: 0 / 0
Ошибка при использовании ie.document.getelementbyid
    #39260681
Х.3,
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Damasevich,

Подскажите пожалуйста почему предпоследняя строка вызывает ошибку Object required
выводи на экран строки в цикле (или пиши в файл - если много), загибай пальцы (или нумеруй в файле), считай и смотри, тогда и узнаешь - сколько строк на самом деле, и что в них, и почему, - возможно предпоследняя строка является таковой только в твоем воображении
...
Рейтинг: 0 / 0
Ошибка при использовании ie.document.getelementbyid
    #39261750
Диам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несмотря на то, что вы вызываете цикл пока страница не загрузится - вполне может быть, что вы из цикла выйдете, а элементы еще не все будут загружены.
Я для этого специально делал такую функцию


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Public Function IE_WaitForCtrl(ie As Object, NameCtl As String, Optional WaitSec As Integer = 5) As Boolean
  Dim vDt As Date
  Dim f As Object 'HTMLTextElement
  vDt = Now
  If ie Is Nothing Then Exit Function
  On Error Resume Next
  Do
    Set f = ie.Document.getElementsByName(NameCtl).Item(0) '.all(NameCtl)
    If err.number = 462 Then 'The remote server machine does not exist or is unavailable
      err.Clear
      GoTo mEx
    End If
    If f Is Nothing Then
      DoEvents
      If DateDiff("s", vDt, Now) > WaitSec Then
        Dim ans As Long
        ans = MsgBox("Время ожидания истекло! Подождать еще " & WaitSec & " секунд?", vbQuestion + vbYesNoCancel + vbSystemModal, NameApp)
        If ans = vbCancel Then
          GoTo mEx
        ElseIf ans = vbNo Then 'выход как будто Експлорер не занят
          Exit Do
        End If
        vDt = Now
      End If
    'Else: f.innerText = "test"
    End If
  Loop While f Is Nothing
  
Success:
  IE_WaitForCtrl = True
  
mEx:
  
End Function
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка при использовании ie.document.getelementbyid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]