Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
168 / 107 / 30
Регистрация: 19.01.2013
Сообщений: 849

Автоматизация действий на сайте

16.01.2018, 09:56. Показов 1501. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу приложение для автоматизаций действий на сайте. Пишу на C# использую браузер хромиум, точнее его обёртку CefCharp.

До этого все действия делал через IMacros.

Суть работы проста. тупо нажимаю кнопочки не сам, а через программу:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// нажать на кнопку создать новый сертефикат
window.document.querySelectorAll(".frmDTSubNum")[0].click();
iimPlayCode("WAIT SECONDS="+time_Index);
//нажать на кнопку для выбора сертификата
window.document.querySelector(".selected-label").click();
iimPlayCode("WAIT SECONDS="+time_Index);
//выбрать 4 кнопки
window.document.querySelectorAll(".dropdown-menu a")
// выбрать ЭЦП
iimPlayCode("WAIT SECONDS="+time_Index);
window.document.querySelectorAll(".dropdown-menu a")[0].click();
 
 
 
//выбрать сотрудника
//нажать на кнопку выбора сотрудника
window.document.querySelectorAll(".frmBtn")[0].click();
iimPlayCode("WAIT SECONDS="+5*time_Index);
Вот самый критичный кусок кода:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
iimPlayCode("WAIT SECONDS="+5*time_Index);
//выбор носителя( карты)
//крутиться пока карту не найдёшь 
iimDisplay('до цикла');
var kards_bool =0;
 
    //var PK_ID =window.document.querySelectorAll('strong')
    //var PK_ID =window.document.querySelectorAll('strong')
    for (var j = window.document.querySelectorAll('strong').length - 1; j >= 0; j--)
     {
    if (window.document.querySelectorAll('strong')[j].textContent=="3333") 
        {
        iimPlayCode("WAIT SECONDS="+4*time_Index);
        iimDisplay('j='+j+'name:'+window.document.querySelectorAll('strong')[j].textContent);
        //window.document.querySelectorAll('.frmTalignL')[j].attributes='frmTalignL tr-token frmTrSelected';
        window.document.querySelectorAll('strong')[j].click();
        iimPlayCode("WAIT SECONDS="+2*time_Index);
               kards_bool=i;               
           break;
          // window.document.querySelectorAll('.tr-token')[5].innerText
        }
    }
Как видно из кода я всё время делаю: iimPlayCode("WAIT SECONDS="+4*time_Index); Т.е. задержку выпосленния кода с помощью IMacros.
Сейчас я так не смогу делать.
Собственно вопросы:
1) Обязательно ли тыкать по этим кнопкам? там в конце( после заполнения 4-х форм вылетает итоговая форма с данными, может есть возможность как-то сразу в неё все данные передавать. ( На нескольких формах надо делать выбор из элементов, подгружаемых с сервера, это как мне кажется это важно).

2) Как мне вызвать через JS какой-то параметр, говорящий, что форма( в HTML называется как wizard-container) полностью загрузился и передал все данные с сервера. Т.е. я всё время делал остановки в выполнении JS чтобы дождаться передачи данных с сервера. Может есть функция позволяющая это как-то запрашивать?
Это огромная проблема одна вкладка загружается менее 1 секунды, а на другой сайт делает запрос к серверу и может ожидать ответ и 20 минут и 2 часа.( Причём все параметры ответа я знаю заранее! Просто я незнаю куда их подставлять. ( Я подставлял в итоговую форму выбранное значение, а форма говорила что значение не выбрано) ).
Собственно всё и делается, чтобы не сидеть за компом и не ждать этот ответ который может 2 часа идти, и так не прийти. Соединение попросту может разорваться.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.01.2018, 09:56
Ответы с готовыми решениями:

Автоматизация действий на сайте
Мне требуется ватоматизировать некоторые действия на сайте. Есть одна форма в которую надо вбивать данные из БД( базы данных). Что я...

Автоматизация работы на сайте / JavaScript
Подскажите пожалуйста, как реализовать данную задачу в языке JavaScript Задача: если в html коде страницы найдется число 0, нажать на...

Автоматизация действий на сайте
Здравствуйте Нужна автоматизация некоторых действий на сайте, с помощью чего это можно реализовать? Делал на VisualBasic с помощью...

2
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
16.01.2018, 11:37
Если кнопки отправляют на сервер запросы, видимо POST, и ждут ответа, то просто отправляйте эти запросы программно через AJAX(Информации по нему море если вдруг не знакомы). При отправлении как раз есть событие onreadystatechange, которое срабатывает когда сервер соизволит вам ответить. И в зависимости от ответа делаете все свои прочие действия.
0
168 / 107 / 30
Регистрация: 19.01.2013
Сообщений: 849
16.01.2018, 14:33  [ТС]
Спасибо за ответ. Буду гуглить этот AJAX и onreadystatechange.
Я то только C# знаю, и то не очень.

Добавлено через 2 часа 8 минут
Что-то я так и не понял как через CefCharp делать запросы(.

Добавлено через 43 минуты
Похоже, что сложно отправлять эти запросы через cefsharp.

Как просто ждать их выполнения?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.01.2018, 14:33
Помогаю со студенческими работами здесь

Автоматизация действий на сайте
Хочу в общем эмулировать действия пользователя на сайте с помощью php. Читал всякие статьи и т.д. Идеально подходит human emulator, но она...

Автоматизация действий на сайте
Прошу посоветовать чем можно автоматизировать обмен данными между мриложением и сайтом. Сайт написал на ASP.NET. На нём я обычный...

Автоматизация действий на сайте, бот для сайта
Задача стоит в том чтобы работать с сайтом авторизоваться, парсить некоторые данные, добовлять темы(не совсем темы). Подскажите где можно...

Автоматизация действий
Работаю на help'е, прилетает на почту письма по скрипту с erp, они стандартного шаблона, пользователь и др. инфа, нужно посмотреть, если ли...

Автоматизация действий
Здравствуйте, хочу понять и научиться автоматизации действий или процессов на JAVA, что нужно учить и где найти подходящие источники???...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru