Вы можете сократить это значение до
Do
Loop While .FindElementsByCss("#theBttnbobjid_1545642213647_dialog_submitBtn").Count = 0
Хотя вы должны установить тайм-аут
Const MAX_WAIT_SEC As Long = 10
Dim t
t = Timer
Do
If Timer - t > MAX_WAIT_SEC Then Exit Do
Loop While .FindElementsByCss("#theBttnbobjid_1545642213647_dialog_submitBtn").Count = 0
Не будет ошибки и нет необходимости давать контроль.Если элемент не найден, .Count
будет равен нулю.
Если идентификатор является динамическим, и у вас есть постоянная подстрока (которая встречается только для одного атрибута идентификатора на странице (быть безопасным - может бытьнеобходимо использовать операторы ^, *, $ в css).Например, если начальная строка постоянна на всех страницах, измените селектор css на
[id^='theBttnbobjid']
Если встречается более одного раза, а индекс постоянен на всех страницах, используйте индекс для взаимодействия позже, например
.FindElementsByCss("[id^='theBttnbobjid']")(2)