Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
да, это можно сделать, как и все что угодно в принципе с html и js... Есть несколько вариантов, с загрузкой страницы в скрытый нб-браузер и субмитом формы скриптом; без загрузки страницы; операции с GET/POST запросами к ифолдеру...
завтра если будет время поковыряюсь поконкретнее с данным случаем, если до того сам не сделаешь... но тогда в личку ссылку и данные на тестовый зарегенный аккаунт ифолдера для опытов, я посмотрю чем смогу помочь...
Наверное не то Метод submit() применяется для передачи формы из JavaScript-программы. По интернету ответа пока-что не нашел... Win7 Pro SP1 x64; NBv5.5.4rus,v5.6.2rus, v5.7.0en, Opera
код формы что ты привел пустой, ни о чем нам не говорит. нужно видеть скрипты в теле html документа которые выполняются при подтверждении формы и анализировать их. так ничего сказать нельзя вообще. Как задавать вопросы
да, это можно сделать, как и все что угодно в принципе с html и js... Есть несколько вариантов, с загрузкой страницы в скрытый нб-браузер и субмитом формы скриптом; без загрузки страницы; операции с GET/POST запросами к ифолдеру... завтра если будет время поковыряюсь поконкретнее с данным случаем, если до того сам не сделаешь... но тогда в личку ссылку и данные на тестовый зарегенный аккаунт ифолдера для опытов, я посмотрю чем смогу помочь...
Ну если бы я знал как это сделать то я бы не спрашивал , логин и пароль отослал в ЛС
Quote (Gorezcaid)
По интернету ответа пока-что не нашел...
То же самое , хотя кое где этот вопрос в сети уже подымался
Quote (DEMBEL)
код формы что ты привел пустой, ни о чем нам не говорит. нужно видеть скрипты в теле html документа которые выполняются при подтверждении формы и анализировать их. так ничего сказать нельзя вообще.
как подтвердить форму загрузив ее в браузер мы тут гдето обсуждали, но как обычно в виде постороннего флуда, поэтому если повезет то ищите. Как задавать вопросы
как подтвердить форму загрузив ее в браузер мы тут гдето обсуждали, но как обычно в виде постороннего флуда, поэтому если повезет то ищите.
ОК , но тут мне кажеться все равно нужен индивидуальный подход к имитации нажатия данной кнопки , её ведь и делали что бы ее хитро можно было нажать в автоматическом режиме
А если тупо переместить курсор в нужные координаты и имитировать щелчок левой кнопки мыши.
Координаты наверное могут меняться в зависимости от различных факторов , например описание к файлу владелец файла добавил и координаты кнопки изменились , или дизайн на сайте сменил координаты тоже соответственно тоже сменились , тут надо какой то хитрый подход найти
причем тут Вопросы и ответы по NB для этих тем(Имитация нажатия кнопки ХТМЛ страницы) есть свои разделы!
Совершеннно справедливо! Тема перенесена.... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Нажатие на кнопку субмит вызывает метод формы субмит, который доступен из явы, forms[0] это коллекция форм в объектной модели документа, если форма на странице не одна, то доступ к нужной осуществляется по индексу в коллекции или по ид или имени. А сетке валом примеров использования. Ну и тут нада различать, чего нужно, нажать кнопку иль отправить форму.
вот только одно я никак не пойму, причем тут Вопросы и ответы по NB для этих тем(Имитация нажатия кнопки ХТМЛ страницы) есть свои разделы!
Ну как причем ? Говорю же , делаю программу на НБ которая будет автоматически продлевать сроки хранения файлов на ифолд.ру . Каждая страница с кнопкой Продлить открывается в браузере который вставлен внутрь программы сделанной на НБ , и программа в этом окне должна сделать имитацию нажатия кнопки Продлить , но как это сделать стандартными средствами НБ я не нашел , поэтому и спрашиваю
Quote (Peter)
Совершеннно справедливо! Тема перенесена....
Вам виднее но по моему она должна находиться там где была изначально , так как тут поднят вопрос о имитации нажатия кнопки через программу НБ
Ну тут ясен пень, что форма целиком шлется, т.к. type у кнопки submit, такчто можно не париться и юзать метод submit();
Я конечно понимаю что мои познания в программировании не такие как у Вас , поэтому и спрашиваю о конкретном примере JS кода , что бы я его вставил в проект НБ помощью команды BrowserExecScript
я программу делаю в винде, но это не значит, что я задам вопрос по теме винда, правильно?. Ей самое место тут, т.к. вопрос касается именно хтмл и яваскрипт, а вто когда НБ небудет обрабатывать эту связку, вот тогда в ту, с которой убрали.
Quote (Snow_Irbis)
поэтому и спрашиваю о конкретном примере JS кода
тебе уже ответили на вопрос, более того дали кучу примеров, в каком месте не понятно?
а вто когда НБ небудет обрабатывать эту связку, вот тогда в ту, с которой убрали.
Так я и спарашиваю как заставить в НБ сделать имитацию нажатия кнопки ? Разве в предыдущих постах этого не видно ?
Quote (Snow_Irbis)
Что бы было более понятно для чего это надо расскажу как будет работать прога , в специальном списке будут ссылки на страницы с файлами , программа будет перебирать список и переходить на страницу и нажимать кнопку Продлить тем самым избавляя владельца файлов от нудной работы . Как сделать это я знаю , за исключением того как сделать имитацию нажатия кнопки Продлить , поэтому собственно и спрашиваю *************************************************************************** Говорю же , делаю программу на НБ которая будет автоматически продлевать сроки хранения файлов на ифолд.ру . Каждая страница с кнопкой Продлить открывается в браузере который вставлен внутрь программы сделанной на НБ , и программа в этом окне должна сделать имитацию нажатия кнопки Продлить , но как это сделать стандартными средствами НБ я не нашел , поэтому и спрашиваю
Quote (Сергей)
тебе уже ответили на вопрос, более того дали кучу примеров, в каком месте не понятно?
Не понятно с того места какой JS код вставить в команду BrowserExecScript
Сообщение отредактировано Snow_Irbis - Вс, 03 Октября 2010, 14:06
кстати вызов BrowserExecScript "WebBrowser1" "document.forms[2].submit();" "JScript" дает ошибку IE с какогото перепуга (форма 2 по счету) dom страницы прогружен весь (вроде бы как...)
поэтому пришлось через InternetPost делать, щас демку покажу.
в общем, процесс идет по тупому пути - прогрузке данных в браузер. Авторизация на ифолдер путем обмена post/get запросами проблематична, т.к. форма входа скриптовая и показывается через iframe с сервиса авторизации tbe.ru, автозаполнения и submit'а формы не выйдет. вторая проблема это cookies, так что автоматического входа не получится, потому что разгребать механизм работы скрипта авторизации и формирования правильных куков и обмен данными с tbe в данном случае непростая задача. так что браузер:
1. запрос страницы управления файла, если авторизовано, то см. п.3 2. вывод формы логина, таймаут на заполнение 20 сек., по истечению переход на стр. файла 3. С авторизованной страницы управления файлом отправляем POST запрос следующего содержания (кракозябры это слово "продлить"): prolong=%D0%BF%D1%80%D0%BE%D0%B4%D0%BB%D0%B8%D1%82%D1%8C к строке пути добавить параметр &prolong Например: InternetPost "http://art-bahmut.ifolder.ru/control/?file_id=19579804&code=2e4992ec45b6ecc2062011d6aabca875&prolong" "prolong=%D0%BF%D1%80%D0%BE%D0%B4%D0%BB%D0%B8%D1%82%D1%8C" "[rez]" "" 4. В браузер загрузится текст ответа [rez], где нужно по дате удаления файла выяснить, сработало или нет.
да, и почему не работает document.forms[2].submit(); интересно, ну я не стал выяснять... см. комментарии в кнопке Go и событии браузера NavigateComplete
У меня дата не продлевалась, впрочем как и из браузера. Думаю это сработает только тогда, когда до удаления останется определенное колво времени заданное ifolder, а не за месяц как на твоем тестовом файле который ты залил вчера. Я прав?
если эта хрень работает, то будем оптимизировать... если нет, то потребуется аккаунт с истекающим файлом для дальнейших тестов.
по крайней мере, один раз проект надо авторизовать, т.к. ставятся свои куки, далее он будет всегда авторизован (ну по крайней мере на период работы точно)
Добавлено (03 Октябрь 2010, 14:40) ---------------------------------------------
Quote (Сергей)
опечатка?
нет, это я так в ходе теста "забил" выполнение скрипта, проверял нужен он или нет
Добавлено (03 Октябрь 2010, 14:41) --------------------------------------------- оказалось нет