[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Click button + checkbox на форме через парсинг
Страницы: 1, 2
aH6y
Здравствуйте уважаемые форумчане =)
Помогите пожалуйста ;)

Есть парсинг сайта через jquery
function common() {
var lindata = $.ajax(link);
lindata.done(function (data) {
analysisSite(data);
});
lindata.fail(function (e, g, f) {
console.log('Epic Fail');
})
}
function analysisSite(data){
$(data).find('span.name').each(function(){
varText = $(this).text();
});
}

На странице, которая парсится есть checkbox и button, которые нужно отметить и нажать

Подскажите можно ли сделать это по средствам парсинга?
Если нельзя, то как это можно сделать?

Спасибо заранее

_____________
Процесс написания своего велосипеда повышает профессиональный уровень программиста.
Invis1ble
aH6y
дай ссылку в ЛС

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Invis1ble
А, что-то я не то несу. А главное ты тоже! smile.gif Лучше скажи, зачем тебе это делать и твоя ли это страница? У тебя постановка задачи некорректная изначально smile.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

aH6y
Цитата (Invis1ble @ 26.01.2014 - 21:06)
А, что-то я не то несу. А главное ты тоже! smile.gif Лучше скажи, зачем тебе это делать и твоя ли это страница? У тебя постановка задачи некорректная изначально smile.gif

Страница моя, не понимаю вопросов

Задачи:
1. Зайти на страницу и посмотреть данные
2. Поставить галочку и нажать кнопочку

Как-то можно это сделать с помощью js не открывая страницу в браузере?

_____________
Процесс написания своего велосипеда повышает профессиональный уровень программиста.
Invis1ble
aH6y
можно, но это скорее всего неверное решение, вот о чем я говорю. Скажи лучше, что в итоге ты хочешь получить, т.е. для чего ты совершаешь эти действия, например непонятно.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

aH6y
Цитата (Invis1ble @ 27.01.2014 - 01:21)
aH6y
можно, но это скорее всего неверное решение, вот о чем я говорю. Скажи лучше, что в итоге ты хочешь получить, т.е. для чего ты совершаешь эти действия, например непонятно.

Мне нужно сделать так, чтобы на определенной странице в определенной форме поставилась галочка, а после нажалась кнопка

Для автоматизации процесса, не спам-бот или другие вредные вещи

_____________
Процесс написания своего велосипеда повышает профессиональный уровень программиста.
Игорь_Vasinsky
ну спарсил имя чекбокса, если нужно value
и когда курлом отправишь запрос - добавь этот чекбокс в массив.

как такового "клика" конечно не будет, но для серверной стороны - ты его сэмитируешь

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Invis1ble
вот и я о том же, что если надо отправить форму, то проще сделать сам запрос без всяких кликов и отметок smile.gif
Ну ладно, отметить чекбокс - это установить атрибут checked для элемента, а кликнуть на кнопку == запустить событие click (или submit у формы)

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

aH6y
1. Использовать нужно js
2. Без открытия нужной страницы
3. Код напишите пожалуйста
4. curl разве можно юзать в js?

Пробовал так:

function common() {
var lindata = $.ajax(link);
lindata.done(function (data) {
analysisSite(data);
});
lindata.fail(function (e, g, f) {
console.log('Epic Fail');
})
}

function analysisSite(data){
$(data).find('span.name').each(function(){
varText = $(this).text();
});
}

if (varText >= 150) {
$(data).find('.class').click();
$(data).find('#check').checked = true;
$(data).find('#button').click();
}


_____________
Процесс написания своего велосипеда повышает профессиональный уровень программиста.
Invis1ble
Цитата
1. Использовать нужно js
2. Без открытия нужной страницы

что значит без открытия? Тебе же надо как-то получиться html для начала, чтоб с ним работать. Впрочем, если html генерируется на твоей стороне, то да, можно и без запроса.
А про выполнение JS - есть раширение для php - http://ua1.php.net/manual/ru/book.v8js.php, хотя я с ним не работал. Можешь еще посмотреть в сторону node.js. Код не напишу, т.к. не сталкивался с такой задачей.

PS. Вообще трудно что-то советовать, не понимая до конца задачу. Может расскажешь подробней, что ты там мутишь? smile.gif А то самому интересно стало.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

aH6y
Цитата (Invis1ble @ 28.01.2014 - 03:32)
Цитата
1. Использовать нужно js
2. Без открытия нужной страницы

что значит без открытия? Тебе же надо как-то получиться html для начала, чтоб с ним работать. Впрочем, если html генерируется на твоей стороне, то да, можно и без запроса.
А про выполнение JS - есть раширение для php - http://ua1.php.net/manual/ru/book.v8js.php, хотя я с ним не работал. Можешь еще посмотреть в сторону node.js. Код не напишу, т.к. не сталкивался с такой задачей.

PS. Вообще трудно что-то советовать, не понимая до конца задачу. Может расскажешь подробней, что ты там мутишь? smile.gif А то самому интересно стало.

Пишу расширение google chrome, которое работает в фоне

Поэтому нужно чтобы это все было автоматизировано, никаких страницы не открывало.

Только делало поставленные задачи в фоне

Все работает до моментов: checkbox, push button

_____________
Процесс написания своего велосипеда повышает профессиональный уровень программиста.
Invis1ble
Цитата
Пишу расширение google chrome, которое работает в фоне

теперь более-менее понятно стало

Цитата
$(data).find('#check').checked = true;

тут у тебя ошибка, для jQuery надо так:
$(data).find('#check').attr('checked', true);

клик по кнопке должен работать, если не работает - возможно причина в политике безопасности, я не знаю какие там ограничения существуют для плагинов.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

aH6y
Ага вот оно что:

Получается кнопка совсем не кнопка, а ссылка вида:
<div class="lis">
<a
href="javascript:bot('lisр', '2848826650410082669', 570, '2', '2035401926')" class="class">
<span
class=""></span>
<span
class="">Купить</span>
<span
class=""></span>
<span
class=""></span>
</a>
</div>


Эта ссылка вызывает модальное окно, в котором нужно отметить checkbox и нажать кнопку

Вот

_____________
Процесс написания своего велосипеда повышает профессиональный уровень программиста.
Invis1ble
насколько я помню, программные клики по ссылкам не срабатывают (видимо в целях безопасности) по крайней мере в хроме. Накрайняк вызывай функцию bot('lisр', '2848826650410082669', 570, '2', '2035401926') без клика.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

aH6y
Цитата (Invis1ble @ 28.01.2014 - 12:49)
насколько я помню, программные клики по ссылкам не срабатывают (видимо в целях безопасности) по крайней мере в хроме. Накрайняк вызывай функцию bot('lisр', '2848826650410082669', 570, '2', '2035401926') без клика.

Ага
Я могу спарсить эту функцию целиком, а как ее воспроизвести на странице этим же запросом?
Вторым запросом - слишком накладно для памяти

Думаю-думаю...

_____________
Процесс написания своего велосипеда повышает профессиональный уровень программиста.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.