Sha256: c362a658b1288117e424d3d61b0539454fccb9be8898b9bacae46f8845b18c3b

Contents?: true

Size: 1.17 KB

Versions: 99

Compression:

Stored size: 1.17 KB

Contents

require 'date'
require_relative 'base_client'

class AdopsReportScrapper::AdtomationClient < AdopsReportScrapper::BaseClient
  private

  def login
    @client.visit 'http://console.adtomation.com/'
    @client.fill_in 'Username', :with => @login
    @client.fill_in 'Password', :with => @secret
    @client.click_button 'Sign In'

    begin
      @client.find :xpath, '//*[text()="Reporting"]'
    rescue Exception => e
      raise e, 'Adtomation login error'
    end
  end

  def scrap
    request_report
    extract_data_from_report
  end

  def request_report
    @client.click_link 'Your Reports'
    @client.find(:xpath, '//*[../../../../../td[text()="report created by adops report scrapper"] and contains(text(),"Run")]').click
    sleep 5
    wait_for_loading
  end

  def extract_data_from_report
    rows = @client.find_all :xpath, '//table/*/tr'
    rows = rows.to_a
    rows.pop
    @data = rows.map { |tr| tr.find_css('td,th').map { |td| td.visible_text } }
  end

  def wait_for_loading
    30.times do |_i| # wait 5 min
      begin
        @client.find(:xpath, '//*[text()="Loading..."]')
      rescue Exception => e
        break
      end
      sleep 10
    end
    sleep 2
  end
end

Version data entries

99 entries across 99 versions & 1 rubygems

Version Path
adops_report_scrapper-0.2.10 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.2.9 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.2.8 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.2.7 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.2.6 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.2.5 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.2.4 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.2.3 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.2.2 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.2.1 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.1.69 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.1.68 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.1.67 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.1.66 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.1.65 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.1.64 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.1.63 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.1.62 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.1.61 lib/adops_report_scrapper/adtomation_client.rb
adops_report_scrapper-0.1.60 lib/adops_report_scrapper/adtomation_client.rb