2016-04-12 4 views
1

Я пытаюсь создать веб-скребок в узле JS, и я попал в блокпост. Мне нужно нажать на кнопку НО, если я не ошибаюсь, Node фактически не отображает веб-страницу, как браузер, поэтому я не могу использовать селектор или X-Path.Узел JS Нажмите кнопку на странице

Как можно было бы нажать конкретную кнопку со значением «да», если я не могу использовать селектор или X-путь? Нет единственного идентификатора для кнопки «Да».

Я прошу об этом, потому что я хочу разобрать определенную веб-страницу, но я перенаправляюсь на страницу, которая просит меня нажать две кнопки. Нажатие «Да» приведет меня на страницу, которую я хочу. Нажатие «Нет», очевидно, помешает мне идти вперед.

Есть ли способ сделать то, что я хочу, в пределах ограничений на узле, не прибегая к чему-то вроде JSDOM?

Вот часть HTML я работаю с:

<div class="buttons"> 
<button class="c-btn c-btn-primary" type="submit" name="bigbutton" value="no">no thank you</button> 
<button class="c-btn c-btn-primary" type="submit" name="bigbutton" value="yes">continue</button> 
</div> 

Я пытался использовать что-то вроде этого:

document.getElementByID("selector").click() 

но был возвращен с "ReferenceError: документ не определен.

+0

Возможный дубликат [Почему у node.js нет родной DOM?] (Http://stackoverflow.com/questions/6657216/why-doesnt-node-js-have-a-native-dom) –

+3

Вы не можете «нажимать» что-либо, когда имеете дело со сломанным контентом на веб-сервере, возможно, вам нужен безгласный браузер или бот, а не – adeneo

+0

. Можно ли заранее узнать URL-адрес перенаправленной страницы и убрать узел прямо? –

ответ

1

Вы пытались использовать Zombie? Я использовал и работал хорошо! Это link очень полезно, так как быстро прояснить, как выполнять действия.

Смежные вопросы