2017-01-22 2 views
0

Я делаю webscraper, и у меня уже есть хорошие данные, но теперь я бы зациклился на страницах.JQuery клик() способ как использовать?

EDIT: Я использую nodeJS

Я уже знаю, чем я 10 страниц, поэтому я сделать простой такой код:

while (nbrPage > 0) 
{ 
    //my scraping code 
    nbrPage--; 
    $('.next').click(); 
} 

Примечание, чем HTML код скрести является как это:

<span class="next"> 
    <a id="nextPage-159c6fa8635" class="page" href="/blablabla"></a> 
</span> 

Когда я бегу мой этот код мои nodeJS командной строки Я эту ошибку: TypeError: $(...).click is not a function

К сожалению, идентификатор <a> (nextPage -...) меняется или на каждой странице.

Кто-нибудь знает, что не так в моем коде и что я должен делать?

Благодаря сообществу

ответ

0

Попробуйте использовать .trigger() метод с JQuery

while (nbrPage > 0) 
{ 
    //my scraping code 
    nbrPage--; 
    $('.next').find('a').trigger('click'); 
} 
+0

Спасибо @Sysix за ваш ответ, к сожалению, я также это TypeError ошибки: $ (...) .find (...). trigger не является функцией – rastafalow

+0

Кажется, вы не загрузили jQuery. –

+0

Я использую nodeJS, знаете ли вы, что я должен делать? – rastafalow

0

метод вызова нажмите как это

$(".next").click(function() { 
    //do your task here 
}); 

во-вторых,

Вы должны добавить $(document).ready(function() {...});

+0

Благодарим Мухаммада за ваш ответ, но вы не согласны с этим событием? Во всяком случае, у меня такое же сообщение об ошибке ... – rastafalow

+0

whats your query then? Вы можете исправить щелчок не является ошибкой функции, используя метод, как упомянуто. –

+0

Вы не работаете, я пробовал, и у меня есть эта ошибка TypeError: $ (...). Click is not a function I exact, чем я использую nodeJS. – rastafalow

0

Попробуйте использовать ядра JavaScript:

  1. Использование функции обратного вызова:

var test = document.querySelector('.next'); 
 

 
test.onclick=function(){ 
 
alert('click'); 
 
}
<span class="next"> 
 
    <a>click</a> 
 
</span>

ИЛИ 2.Using Event Listener

var test = document.querySelector('.next'); 
 

 
test.addEventListener('click',function(){ 
 
alert('click'); 
 
});
<span class="next"> 
 
    <a>click</a> 
 
</span>

+0

Большое спасибо Hikmat за ваш ответ, но я хочу нажать на кнопку, я не хочу обрабатывать событие. Я также использую nodeJS ... – rastafalow

+0

@rastafalow просто замените якорный тег на кнопку в html. Но извините im null в узле js ... нет идеи брата. –

0

вы можете просто прикрепить JQuery click обработчик событий, чтобы использовать его

$("#click-btn").on('click', function() { 
 
    alert(this.id + ' is clicked !!'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<button id="click-btn">click</button>

+0

Привет @ sa77 Я использую nodeJS, и я очищаю веб-страницу. Я бы сделал клик, я не хочу обрабатывать событие click. У вас есть решение? – rastafalow