Что это за ссылка?

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Adam Smith
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 25.04.2008 (Пт) 9:04
Откуда: ЧР. Грозный

Что это за ссылка?

Сообщение Adam Smith » 30.01.2016 (Сб) 20:18

Код: Выделить всё
<a href="#" onclick="moj.jscr(document.getElementById('j_idt703'),{'j_idt703:creatingContract:0:j_idt804':'j_idt703:processingContractList:0:j_idt804'},'');return false">Экспорт в Excel</a>
Для меня это какие-то эльфийские руны. Может кто-нибудь объяснить мне, что это и с чем его едят?
Можно ли как-то автоматизировать этот Экспорт в Excel с авторизацией например с помощью WinHTTP?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Что это за ссылка?

Сообщение Хакер » 30.01.2016 (Сб) 21:29

Ссылка на #, только и всего.

Но DOM-элементу на событие onclick навешан обработчик, написанный на JavaScript. Тот факт, что эта элемент <a> тут вообще практически никакой роли не играет.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Adam Smith
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 25.04.2008 (Пт) 9:04
Откуда: ЧР. Грозный

Re: Что это за ссылка?

Сообщение Adam Smith » 30.01.2016 (Сб) 21:43

В теме http://bbs.vbstreets.ru/viewtopic.php?f=56&t=40300 я вычитал совет
iGrok писал(а):А по-хорошему, надо расковыривать js-код на странице, чтобы выяснить какой именно запрос даёт тебе нужные данные.
При помощи FireFox с его FireBug это сделать относительно просто. Тогда даже не придётся парсить выданный HTML ...

Видимо нужно узнать, что делает закрепленный скрипт и если удастся сделать тоже самое, то можно будет автоматизировать экспорт.
Попробую через Google Chrome DevTools F12

Adam Smith
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 25.04.2008 (Пт) 9:04
Откуда: ЧР. Грозный

Re: Что это за ссылка?

Сообщение Adam Smith » 30.01.2016 (Сб) 23:27

Отправляется POST запрос с мудрёным динамическим набором данных, в ответ приходит новый URL на который отправляется GET запрос, в ответ xls файл.
Я уверен, что не осилю эти заклинания. Куки и Content-Encoding: gzip атас, даже в коде скрипта не разобрался, чтобы понять, как и из чего он генерит это:
j_idt573=j_idt703&javax.faces.ViewState=-657503020436:-599977460298&j_idt703:processingContractList:0:j_idt804=j_idt703:processingContractList:0:j_idt804
Красным отметил динамические данные, остальное пока неизменно, но возможно это так пока документ Excel на сайте не обновится.

Короче, единственный мой вариант отлавливать окно закачки IE и посылать ему пробел, чтобы нажать кнопку по-умолчанию.

Adam Smith
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 25.04.2008 (Пт) 9:04
Откуда: ЧР. Грозный

Re: Что это за ссылка?

Сообщение Adam Smith » 08.02.2016 (Пн) 20:40

Отлавливанием и нажатием одной кнопки не обошлось конечно. Жду появления диалогов, вношу туда нужные изменения, жмякаю кнопки. Качается эксель.
За ответ спасибо!

Kroos
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.02.2012 (Вт) 16:57

Re: Что это за ссылка?

Сообщение Kroos » 08.02.2016 (Пн) 21:28

похоже на сервере к которому идет запрос крутится одна из реализаций JSF, и то что ты выделил красным, этот параметр - просто описание состояния страницы и UI. Так что по идее, если при текущем состоянии ViewState загрузка возможна, то можешь просто этот параметр запомнить, если сделано без всяких хитрушек:
Состояние компонентов пользовательского интерфейса сохраняется, когда пользователь запрашивает новую страницу и затем восстанавливается, если запрос повторяется.

Adam Smith
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 25.04.2008 (Пт) 9:04
Откуда: ЧР. Грозный

Re: Что это за ссылка?

Сообщение Adam Smith » 09.02.2016 (Вт) 9:57

От сессии к сессии этот параметр меняется. Не проверял, но думаю, что использовать статичные цифры не удастся, а держать бесконечно одну сессию я не хочу. Хотя наверное так было бы правильнее, не знаю, просто нет такого опыта.

Kroos
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.02.2012 (Вт) 16:57

Re: Что это за ссылка?

Сообщение Kroos » 09.02.2016 (Вт) 13:46

сессия может и ни при чем. Ну а на самой странице ничего не меняется, нет там скрытых полей или динамических данных? поищи причину.

Adam Smith
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 25.04.2008 (Пт) 9:04
Откуда: ЧР. Грозный

Re: Что это за ссылка?

Сообщение Adam Smith » 13.02.2016 (Сб) 21:58

Попробовал, но ничего не получилось и это жесть конечно. Гораздо быстрее (как я и планирую) выделить отдельную виртуалочку под ХР, чтоб на ней барабанил IE.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19

    TopList