0
newtech
naïve
09.04.24
✎
01:31
|
Подскажите почему не срабатывает программное нажатие кнопки, при включении события ПриНажатии в этой процедуре.
те. если событие ПолеHTMLПриНажатии НЕ включено, все отрабатывает без проблем.
<1c>&НаКлиенте
Процедура ЗаполнитьФорму()
ОбъектДокумент = Элементы.ПолеHTML.Документ;
//ОбъектФормы = ОбъектДокумент.forms[0]; // Получаем первую форму в документе
Попытка
ОбъектДокумент.getElementById("username").value = "login" ; // Находим элемент по ID и прописываем значение
ОбъектДокумент.getElementById("password").value = "123456" ;
//ОбъектФормы.elements.username.value = "login"; // Заполняем поле формы
//ОбъектФормы.elements.password.value = "123456"; // Заполняем поле формы
Исключение
КонецПопытки;
ЭлементHTMLДокумента = ОбъектДокумент.querySelector("[type=""submit""]");
ЭлементHTMLДокумента.click();
КонецПроцедуры
</1c>
|
|
1
newtech
naïve
09.04.24
✎
02:54
|
(0) Хочу добавить, что авторизация этим способом мне известна и прекрасно работает.
&НаКлиенте
Процедура ОтправитьЗапросНаСайт(Команда)
ИнтернетПрокси = Новый ИнтернетПрокси(ИСТИНА);
СерверЗапроса = "demo.net";
ПортВременный = 443;
ПользовательЗапроса = "";
ПарольЗапроса = "";
ТаймаутЗапроса = 10;
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
АутентификацияОС = ЛОЖЬ;
СоединениеHTTP = Новый HTTPСоединение(СерверЗапроса, ПортВременный, ПользовательЗапроса, ПарольЗапроса, ИнтернетПрокси, ТаймаутЗапроса, ЗащищенноеСоединение, АутентификацияОС);
АдресРесурсаСПараметрами = "/ci/Settings/Clients?******************************************************";
ЗапросHTTP = Новый HTTPЗапрос(АдресРесурсаСПараметрами);
ТелоЗапросаСтрока = "";
КодировкаЗапроса = "";
ИспользоватьBOMЗапроса = ИспользованиеByteOrderMark.НеИспользовать;
ЗапросHTTP.УстановитьТелоИзСтроки(ТелоЗапросаСтрока, КодировкаЗапроса, ИспользоватьBOMЗапроса);
ЗапросHTTP.Заголовки.Вставить("Authorization", "Basic *************");
ЗапросHTTP.Заголовки.Вставить("Cookie", "********************************");
ОтветHTTP = СоединениеHTTP.ВызватьHTTPМетод("POST", ЗапросHTTP);
КодСостояния = ОтветHTTP.КодСостояния;
ТелоОтветаСтрока = ОтветHTTP.ПолучитьТелоКакСтроку();
ТелоОтветаДвоичныеДанные = ОтветHTTP.ПолучитьТелоКакДвоичныеДанные();
ПолеHTML = ТелоОтветаСтрока;
КонецПроцедуры
|
|
2
newtech
naïve
09.04.24
✎
15:31
|
В общем сам же и отвечу , если в обработчике события ПолеHTMLПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка) выполняется условие
Если ДанныеСобытия.Anchor = Неопределено Тогда
Возврат;
то программное (ЭлементHTMLДокумента.click();) нажатие не сработает.
|
|