webdrone 0.7.2 → 0.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 59591674d236ff01c89372f075b282135b1d4a6d
4
- data.tar.gz: 31c23bc45847abe34464dce1bcab7533aa993cf1
3
+ metadata.gz: 4430bada120a35c96df53fdff1f8ad3433fb9e3f
4
+ data.tar.gz: 8d977ffec647ef6780cf14ac160a89d380325476
5
5
  SHA512:
6
- metadata.gz: d39044837141b162f8c99b68488ed145d9b95caefe45dde91433db560445dde51ba84889926f75a33177c7720bb3975352b283e3f1d7f3ffa3cfc12052f64252
7
- data.tar.gz: 643f53e0d1b34130d4d8f96f0b7e87855e777736622719d54af2c516ebfb5483e69ee561846eeda1ab00b4f58dfb51503d9f4f452600971ae8c5e27b6e0a47f9
6
+ metadata.gz: 426f0f149aee865b1e39bc1cb1bc98fc0af3d4feb32a8e130792a5b16d77e446fe83468be0bd91ebdfd590f1de608e0268cf247d4d0b2201818e3f9c2e4e113c
7
+ data.tar.gz: df461609398cfadff2da8cd86f8c0690c918ae79c4e428aa6d36b087ca1d8587ab8599aedb0661ba71a9e249d0e52f8e4bec41bb1e215d608b8fa347fc86dd2f
data/.gitignore CHANGED
@@ -9,3 +9,4 @@
9
9
  /tmp/
10
10
  webdrone_output_*
11
11
  screenshot-*.png
12
+ webdrone_output
data/lib/webdrone.rb CHANGED
@@ -19,6 +19,7 @@ require 'rubyXL'
19
19
  require 'irb'
20
20
  require 'fileutils'
21
21
  require 'binding_of_caller'
22
+ require 'pathname'
22
23
 
23
24
  module Webdrone
24
25
  def self.create(*args)
@@ -1,23 +1,44 @@
1
1
  module Webdrone
2
2
  class Browser
3
+ @@firefox_profile = @@chrome_prefs = nil
3
4
  attr_accessor :driver
4
5
 
5
- def initialize(browser: 'chrome', create_outdir: true, outdir: nil, timeout:, maximize: true)
6
+ def self.firefox_profile
7
+ if @@firefox_profile == nil
8
+ @@firefox_profile = Selenium::WebDriver::Firefox::Profile.new
9
+ @@firefox_profile['startup.homepage_welcome_url.additional'] = 'about:blank'
10
+ @@firefox_profile['browser.download.folderList'] = 2
11
+ @@firefox_profile['browser.download.manager.showWhenStarting'] = false
12
+ @@firefox_profile['browser.helperApps.neverAsk.saveToDisk'] = "images/jpeg, application/pdf, application/octet-stream, application/download"
13
+ end
14
+ @@firefox_profile
15
+ end
16
+
17
+ def self.firefox_profile=(firefox_profile)
18
+ @@firefox_profile = firefox_profile
19
+ end
20
+
21
+ def self.chrome_prefs
22
+ if @@chrome_prefs == nil
23
+ @@chrome_prefs = { download: { prompt_for_download: false } }
24
+ end
25
+ @@chrome_prefs
26
+ end
27
+
28
+ def initialize(browser: 'chrome', create_outdir: true, outdir: nil, timeout:, maximize: true, chrome_prefs: nil, firefox_profile: nil)
6
29
  if create_outdir or outdir
7
- outdir ||= "webdrone_output/#{Time.new.strftime('%Y%m%d_%H%M%S')}"
30
+ outdir ||= File.join("webdrone_output", Time.new.strftime('%Y%m%d_%H%M%S'))
8
31
  self.conf.outdir = outdir
9
32
  end
33
+ outdir = File.join(Dir.pwd, outdir) if outdir != nil and not Pathname.new(outdir).absolute?
10
34
  if outdir != nil and browser.to_sym == :chrome
11
- prefs = { download: { prompt_for_download: false, default_directory: outdir } }
12
- @driver = Selenium::WebDriver.for browser.to_sym, prefs: prefs, args: ['--disable-popup-blocking']
35
+ chrome_prefs = Browser.chrome_prefs if chrome_prefs == nil
36
+ chrome_prefs[:download][:default_directory] = outdir
37
+ @driver = Selenium::WebDriver.for browser.to_sym, prefs: chrome_prefs, args: ['--disable-popup-blocking']
13
38
  elsif outdir != nil and browser.to_sym == :firefox
14
- profile = Selenium::WebDriver::Firefox::Profile.new
15
- profile['startup.homepage_welcome_url.additional'] = 'about:blank'
16
- profile['browser.download.dir'] = outdir
17
- profile['browser.download.folderList'] = 2
18
- profile['browser.download.manager.showWhenStarting'] = false
19
- profile['browser.helperApps.neverAsk.saveToDisk'] = "images/jpeg, application/pdf, application/octet-stream"
20
- @driver = Selenium::WebDriver.for browser.to_sym, profile: profile
39
+ firefox_profile = Browser.firefox_profile if firefox_profile == nil
40
+ firefox_profile['browser.download.dir'] = outdir
41
+ @driver = Selenium::WebDriver.for browser.to_sym, profile: firefox_profile
21
42
  else
22
43
  @driver = Selenium::WebDriver.for browser.to_sym
23
44
  end
@@ -1,3 +1,3 @@
1
1
  module Webdrone
2
- VERSION = "0.7.2"
2
+ VERSION = "0.7.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webdrone
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aldrin Martoq
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-12-04 00:00:00.000000000 Z
11
+ date: 2015-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler