class AdopsReportScrapper::BrightcomClient
Private Instance Methods
extract_data_from_report()
click to toggle source
# File lib/adops_report_scrapper/brightcom_client.rb, line 44 def extract_data_from_report rows = @client.find_all(:xpath, '//table[@role="grid"]/tbody/tr') rows = rows.to_a header = @client.find :xpath, '//table[@role="grid"]/thead/tr' n_header = header.find_css('td,th').map { |td| td.visible_text } @data = [n_header] @data += rows.map { |tr| tr.find_css('td,th').map { |td| td.visible_text } } end
login()
click to toggle source
# File lib/adops_report_scrapper/brightcom_client.rb, line 7 def login @client.visit 'https://compass.brightcom.com/' @client.fill_in 'Username', :with => @login @client.fill_in 'Password', :with => @secret @client.click_button 'Login' sleep 15 begin @client.find :xpath, '//*[text()="Reports "]' rescue Exception => e raise e, 'Brightcom login error' end end
request_report()
click to toggle source
# File lib/adops_report_scrapper/brightcom_client.rb, line 25 def request_report @client.visit 'https://compass.brightcom.com/onetag/reportsext/display' sleep 5 group_by_dest_elem = @client.find(:css, '#group_by_dest') @client.find(:xpath, '//div[text()="Tags" and @data-order="1"]').drag_to(group_by_dest_elem) @client.find(:xpath, '//div[text()="Country" and @data-order="2"]').drag_to(group_by_dest_elem) metrics_source_elem = @client.find(:css, '#metrics_source') metrics_dest_elem = @client.find(:css, '#metrics_dest') @client.find(:xpath, '//div[text()="Received IMPS" and @data-order="0"]').drag_to(metrics_dest_elem) @client.find(:xpath, '//div[text()="Clicks" and @data-order="3"]').drag_to(metrics_dest_elem) @client.find(:xpath, '//div[text()="Conversion Rate" and @data-order="6"]').drag_to(metrics_source_elem) @client.find(:xpath, '//div[text()="Revenue eCPM" and @data-order="8"]').drag_to(metrics_source_elem) @client.click_button 'Run Report' sleep 15 end
scrap()
click to toggle source
# File lib/adops_report_scrapper/brightcom_client.rb, line 20 def scrap request_report extract_data_from_report end