5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/NittResults.rb', line 5
def fetch_results(start_rollno,end_rollno)
browser = Selenium::WebDriver.for :firefox
browser.get("http://www.nitt.edu/prm/nitreg/ShowRes.aspx")
(start_rollno..end_rollno).each do |rollno|
element = browser.find_element(:name => 'TextBox1')
element.clear
button = browser.find_element(:id => "Button1")
element.send_keys(rollno)
button.click
valid_roll_no = browser.find_elements(:id,"Dt1").size
if valid_roll_no > 0
select = browser.find_element(:id,"Dt1")
select.find_elements(:tag_name, "option").each do |option|
option.click if option.text == "NOV-2012 (REGULAR EXAM)"
end
end
rows = browser.find_elements(:css => ".DataGridItem, .DataGridAlternatingItem")
if !rows.empty?
student_name = browser.find_element(:id => "LblName").text
gpa = browser.find_element(:id => "LblGPA").text
File.open(rollno.to_s,'w') do |f|
f.puts(student_name)
rows.each { |r| f.puts(r.text) }
f.puts("GPA : #{gpa}")
end
end
end
browser.quit
end
|