class WebStat::WebDriverHelper

Public Class Methods

get_last_url(url, delay=nil) click to toggle source

Get last url @param [String] url @param [Integer] delay

# File lib/helpers/web_drive_helper.rb, line 7
def get_last_url(url, delay=nil)
  driver = get_driver(url, delay)
  last_url = driver.current_url
  driver.quit
  last_url
end
get_source(url, delay=nil) click to toggle source

Get source of html @param [String] url @param [Integer] delay

# File lib/helpers/web_drive_helper.rb, line 16
def get_source(url, delay=nil)
  driver = get_driver(url, delay)
  source = driver.page_source
  driver.quit
  source
end

Private Class Methods

get_driver(url, delay=nil) click to toggle source
# File lib/helpers/web_drive_helper.rb, line 24
def get_driver(url, delay=nil)
  Selenium::WebDriver.logger.output = File.join("/tmp", "selenium.log")
  Selenium::WebDriver.logger.level = :info
  options = Selenium::WebDriver::Chrome::Options.new(args: [
    'headless',
    'no-sandbox',
    'disable-gpu'
    ])
  driver = Selenium::WebDriver.for(:chrome, options: options)
  driver.manage.timeouts.implicit_wait = 10
  Selenium::WebDriver::Wait.new(timeout: 10)
  driver.get(url)
  if delay.is_a?(Integer)
    sleep delay
  end
  driver
rescue => e
  driver.quit
  raise e
end