2015-02-25 4 views
1

Я пытаюсь использовать пакет Selenium в R, чтобы очистить следующую страницу: http://www.wbsec.gov.in/(S(njkinc55hbv2hw55xksxdv45))/DetailedResult/Detailed_gp.aspx. Меня интересуют все комбинации выпадающих списков, но продолжайте получатьОчистка страницы с выпадающими меню в R

Couldnt connect to host on http://localhost:4444/wd/hub.Please ensure a Selenium server is running. 
Error in queryRD(paste0(serverURL, "/session"), "POST", qdata = toJSON(serverOpts)) : 

library(RSelenium) 
library(XML) 
library(magrittr) 

checkForServer() 
startServer() 
remDrv<-remoteDriver() 
remDrv$open() 
remDrv$navigate("http://www.wbsec.gov.in/(S(njkinc55hbv2hw55xksxdv45))/DetailedResult/Detailed_gp.aspx") 

Любая помощь будет оценена.

ответ

2

Используйте посредник, такие как burpsuite захватить то, что происходит, и использовать полученные результаты в сочетании с rvest «s html_session и/или httr» ы POST.

В этом случае, вы увидите исходный URL содержит начальное <select> меню и вы также увидите, что выбор одного выдает POST на:

http://www.wbsec.gov.in/(S(njkinc55hbv2hw55xksxdv45))/DetailedResult/Detailed_gp.aspx 

с рядом скрытых переменных в оригинальный элемент формы, а также ddldistrict, ddlblock и ddlgp. Ответ содержит следующие параметры меню <select>.

Используйте rvest, чтобы получить атрибут каждого выпадающего меню value и сделать последующие POST S в Detailed_gp.aspx URL, пока вы не получили все комбинации.

Возможно, вы получите ответ Селена, но эта проблема требует только отправки в формы, что-то httr и rvest преуспеть в.

+0

Я ценю ответ, но у меня нет никакого фона ни в одном из того, что вы упомянули. – torentino

+0

Это сайт ASP.NET с проверкой событий, и на этом сайте неясно, будет ли то, что вы предлагаете. Это может сработать, или это может не зависеть от бэкэнд и что валидация имеет место. – jdharrison

+0

@jdharrison Я провел сеанс через burpsuite (вот почему я знал обо всех именах переменных). Все, что вам нужно сделать, это захватить соответствующие начальные переменные сеанса и скрытые формы vars и воспроизвести их через каждый «POST». – hrbrmstr

0

Вы, кажется, не настроили селен должным образом. Убедитесь, что у вас есть Selenium, и R Selenium загружен в R. This link может быть вам полезна.

Как только Selenium настроен правильно, все, что вам нужно сделать, это найти селектор css (selectorgadget - отличный инструмент для этого) и отправить необходимую информацию в выпадающие меню, очистить сайт и повторить. Я бы сделал три выпадающих списка.