|   |   | 
| 
 | Программно нажать на кнопку "ОК" в Microsoft Web Browser | ☑ | ||
|---|---|---|---|---|
| 0
    
        unca 20.03.14✎ 14:22 | 
        1С 8.2
 Делаю обработку, в которой расположен всего один элемент ActiveX Microsoft Web Browser. Конекчусь через него к некому веб серверу 1С. Появляется окно логина/пароля, которые я успешно ввожу на основании некоторых данных. А вот кнопку ОК нажать не могу. Перебрал все элементы с методом click(). Только открылся список всех пользователей. Кнопки "Ок" и "Отмена" никак себя не проявили. Подскажите метод которым можно сделать это программно. Может скрипт какой надо ... кусок кода которым я все элементы документа пробегаю. Для Каждого Эл из ЭлементыФормы.ie.Document.all цикл Эл.Click(); КонецЦикла; | |||
| 1
    
        unca 20.03.14✎ 14:52 | 
        нежный ап     | |||
| 2
    
        unca 20.03.14✎ 15:20 | 
        Если кто-то захочет подключиться, то вот необходимый кусок для старта
 Процедура ПриОткрытии() ie = ЭлементыФормы.ie; ie.Navigate("http://adressBD"); ПодключитьОбработчикОжидания("Запустить",3); КонецПроцедуры Процедура Запустить() Экспорт Пока ЭлементыФормы.ie.ReadyState <> 4 Цикл Возврат КонецЦикла; Doc = ЭлементыФормы.ie.Document; Doc.GetElementById("userPassword").attributes.Value.value = "Пароль"; Doc.GetElementById("userName").attributes.Value.value = "Пользователь"; ОтключитьОбработчикОжидания("Запустить"); КонецПроцедуры | |||
| 3
    
        unca 20.03.14✎ 15:22 | 
        Перед отключением обработчика и нужно нажать на кнопку "ОК"     | |||
| 4
    
        fvadim 20.03.14✎ 15:23 | 
        если кнопки привязаны к форме - там нету кликов, там submit формы.     | |||
| 5
    
        unca 20.03.14✎ 15:29 | 
        (4) кнопка находиться в окошке логина, который открывается при запуске 1С через браузер.     | |||
| 6
    
        unca 20.03.14✎ 15:32 | 
        Добавлю, что в списке всех элементов есть такая кнопка. У нее ID = "okButton", но что с ней делать я не знаю.     | |||
| 7
    
        fvadim 20.03.14✎ 16:24 | 
        Добавлю, что ты - лентяй.
 Doc.Forms(0).submit(); | |||
| 8
    
        unca 20.03.14✎ 17:21 | 
        (7) не взлетело. После данного куска кода отправляет на окно логина/пароля     | |||
| 9
    
        Sinoptic 20.03.14✎ 17:42 | 
        Узнай может на сервере к которому коннектишся можно залогиниться типа: http://adressDB?login=user1&pass=123456     | |||
| 10
    
        unca 20.03.14✎ 17:49 | 
        (9) хмм, нельзя. Надо им подсказать. Это же неким скриптом они добиться могут, я правильно понимаю?     | |||
| 11
    
        Fram 20.03.14✎ 17:50 | 
        (8) Вводи программно пароль и опять ОК     | |||
| 12
    
        oleg_km 20.03.14✎ 17:54 | 
        Надо ковыряться исходнике JavaScript. Может не у той формы сабмит. Это не модальное окно, не авторизация типа Basic или Dig?     | |||
| 13
    
        unca 20.03.14✎ 18:00 | 
        (11) и ситуация повторяется 
 (12) форма только одна. хз. | |||
| 14
    
        oleg_km 20.03.14✎ 18:08 | 
        А код на JavaScript можно привести. Я когда хакал банк-клиент - долго изучал код JavaScript. даже под отладчиком Visua Studio трассировку делал     | |||
| 15
    
        unca 21.03.14✎ 10:36 | 
        Да, надо было покопаться... решение оказалось максимально простым:
 http://server/BD?O=Low&C=start.xml&N=user&P=psw | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |