2014-09-02 2 views
0

Вероятно, тривиальный вопрос для тех, кто знает, и тот, который был задан раньше (но я не могу его найти).Выберите вариант при выполнении выборки с помощью скрипта Google Apps

Сайт содержит список, чтобы выбрать конкретную дату. По умолчанию дата установлена ​​на следующую дату встречи.
the next date a meeting will take place

Использование

var site  = <a site> 
var response = UrlFetchApp.fetch(site); 
var data  = response.getContentText(); 

я могу получить содержимое страницы. Исходный код страницы, среди многих других данных, содержит

<h1 class="object_title">Vergaderingen gemeenteraad en commissies</h1> 
    <!-- Content --> 
    <div id="content" class="contentarea"> 
     <div id="phContent_pnlSelectDatum"> 

      <div class="formulier-grijs"> 
       <fieldset>   
         <div class="rij"> 
          <label for="Zoekterm" class="width115">Vergaderdatum</label> 
          <select name="ctl00$phContent$ddlYear" onchange="javascript:setTimeout(&#39;__doPostBack(\&#39;ctl00$phContent$ddlYear\&#39;,\&#39;\&#39;)&#39;, 0)" id="phContent_ddlYear"> 
     <option value="18-12-2014">18 december 2014</option> 
     <option value="17-12-2014">17 december 2014</option> 
     <option value="13-11-2014">13 november 2014</option> 
     <option value="12-11-2014">12 november 2014</option> 
     <option selected="selected" value="25-09-2014">25 september 2014</option> 
     <option value="09-07-2014">9 juli 2014</option> 
     <option value="05-06-2014">5 juni 2014</option> 
     <option value="06-05-2014">6 mei 2014</option> 
     <option value="27-03-2014">27 maart 2014</option> 
     <option value="26-03-2014">26 maart 2014</option> 
     <option value="25-02-2014">25 februari 2014</option> 
     <option value="30-01-2014">30 januari 2014</option> 
     <option value="12-12-2013">12 december 2013</option> 
            </select> 
         </div> 
       </fieldset> 
      </div> 

      </div> 
    </div> 

В зависимости от даты выбранного остальные страницы будут обновляться
Очевидно, что помимо 25 сентября 2014 Я хотел бы получить данные с других совещаний.

Так что я хотел бы знать, что (параметр?) Я должен добавить в свой код, чтобы выбрать другую дату (= опция) из списка при выполнении выборки.
В общем, я не знаю, какие (и сколько) вариантов существуют в listboc, поэтому я хотел бы пропустить их все.

Я использую Google Apps Script для UiApp

ответ

1

Это та часть, которая извлечения новой страницы, когда пользователь обновляет поле выбора:

__doPostBack(\&#39;ctl00$phContent$ddlYear\&#39;,\&#39;\&#39;) 

Вы должны были бы рассмотреть источник js, чтобы точно определить, что делает эта функция, поскольку в данных сообщения могут быть другие параметры. Но вполне возможно, что он просто отправляет запрос на запись с этим значением, и если да, то, как это может работать:

var url = 'http://domain.com/pageUrl.html'; 
var options = { 
    method = 'POST', 
    payload = { 
    'ctl00$phContent$ddlYear': '18-12-2014' 
    } 
}; 
var response = UrlFetchApp.fetch(url, options); 

Это просто запрос пост, который представляет значение «декабря 2014 года» этого выберите поле.

Как я уже сказал, если это не сработает, вам действительно нужно взглянуть на источник __doPostBack() в js, чтобы выяснить, что именно это сообщение, чтобы получить требуемый ответ.

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