2015-05-19 6 views
0

Я хочу заполнить некоторые параметры, которые запускают загрузку файла, используя драгоценный камень Mechanize. HTML следующий.Rails mechanize gem - scraping

<div> 
    <form action="" id="label_selectors" method="post"> 
    ... 
    ... 
     <div class="source form_options">          
       <select name="source" id="source">          
       <option value="btce" selected="selected">Btc-e</option>         
       <option value="cryptsy">Cryptsy</option>          
      <option value="796">796</option>         
       <option value="bitstamp">Bitstamp</option>         
       <option value="formulas">Altcoin Indexes</option>         
       </select>         
      </div>         
      <div class="label form_options">          
       <select name="label" id="label">         
       </select>         
      </div>         
      <div class="period form_options">         
      <select name="period" id="period">          
      <option value="15m">15 minute</option>          
      <option value="1h" selected="selected">1 hour</option>          
      <option value="1d">1 day</option>         
      </select>         
     </div>         
     <div class="presense form_options">         
      CSV: <input type="radio" name="presence" value="csv"> Chart: <input type="radio" name="presence" value="chart" checked="checked">         
     </div>         
     <div class="submit form_options">         
      <input type="submit" name="submit" value="OK">          
     </div>         
     </form>         
    </div> 

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

form = page.forms.first 
form.source = "btce" 
form.label = "BTC/USD" 
form.period = "1d" 
form.presense = "csv" 
form.submit 

Однако, это не работает:

NoMethodError: undefined method `presense=' for #<Mechanize::Form:0x007fb878dc7f98 

(опечатка presense, а не наличие появляется на странице)

Как я могу правильно заполнить эту форму?

+0

Добавить страницу HTML правильно. '

' тега отсутствует – RAJ

+0

Нет тега формы. – octavian

+0

Странно! Я могу видеть '' на странице HTML – RAJ

ответ

1

Похоже, что вход presence является переключателем.

Чтобы выбрать радиокнопку с Mechanize вы хотите что-то вроде:

form.radiobuttons_with(name: 'presence')[0].check 

Там в других способов выбора радиокнопки с Mechanize - вы можете увидеть их здесь: http://docs.seattlerb.org/mechanize/GUIDE_rdoc.html

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