Class: Webdrone::Browser
- Inherits:
-
Object
- Object
- Webdrone::Browser
- Defined in:
- lib/webdrone/clic.rb,
lib/webdrone/conf.rb,
lib/webdrone/ctxt.rb,
lib/webdrone/exec.rb,
lib/webdrone/find.rb,
lib/webdrone/form.rb,
lib/webdrone/mark.rb,
lib/webdrone/open.rb,
lib/webdrone/shot.rb,
lib/webdrone/text.rb,
lib/webdrone/vrfy.rb,
lib/webdrone/wait.rb,
lib/webdrone/xlsx.rb,
lib/webdrone/browser.rb
Constant Summary collapse
- @@firefox_profile =
@@chrome_prefs = nil
Instance Attribute Summary collapse
-
#driver ⇒ Object
Returns the value of attribute driver.
Class Method Summary collapse
Instance Method Summary collapse
- #clic ⇒ Object
- #conf ⇒ Object
- #ctxt ⇒ Object
- #exec ⇒ Object
- #find ⇒ Object
- #form ⇒ Object
-
#initialize(browser: 'chrome', create_outdir: true, outdir: nil, timeout:, maximize: true, chrome_prefs: nil, firefox_profile: nil) ⇒ Browser
constructor
A new instance of Browser.
- #mark ⇒ Object
- #maximize ⇒ Object
- #open ⇒ Object
- #quit ⇒ Object
- #shot ⇒ Object
- #text ⇒ Object
- #vrfy ⇒ Object
- #wait ⇒ Object
- #xlsx ⇒ Object
Constructor Details
#initialize(browser: 'chrome', create_outdir: true, outdir: nil, timeout:, maximize: true, chrome_prefs: nil, firefox_profile: nil) ⇒ Browser
Returns a new instance of Browser.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/webdrone/browser.rb', line 28 def initialize(browser: 'chrome', create_outdir: true, outdir: nil, timeout:, maximize: true, chrome_prefs: nil, firefox_profile: nil) if create_outdir or outdir outdir ||= File.join("webdrone_output", Time.new.strftime('%Y%m%d_%H%M%S')) self.conf.outdir = outdir end outdir = File.join(Dir.pwd, outdir) if outdir != nil and not Pathname.new(outdir).absolute? if outdir != nil and browser.to_sym == :chrome chrome_prefs = Browser.chrome_prefs if chrome_prefs == nil chrome_prefs[:download][:default_directory] = outdir @driver = Selenium::WebDriver.for browser.to_sym, prefs: chrome_prefs, args: ['--disable-popup-blocking'] elsif outdir != nil and browser.to_sym == :firefox firefox_profile = Browser.firefox_profile if firefox_profile == nil firefox_profile['browser.download.dir'] = outdir @driver = Selenium::WebDriver.for browser.to_sym, profile: firefox_profile else @driver = Selenium::WebDriver.for browser.to_sym end self.conf.timeout = timeout if timeout self.maximize if maximize end |
Instance Attribute Details
#driver ⇒ Object
Returns the value of attribute driver.
4 5 6 |
# File 'lib/webdrone/browser.rb', line 4 def driver @driver end |
Class Method Details
.chrome_prefs ⇒ Object
21 22 23 24 25 26 |
# File 'lib/webdrone/browser.rb', line 21 def self.chrome_prefs if @@chrome_prefs == nil @@chrome_prefs = { download: { prompt_for_download: false } } end @@chrome_prefs end |
.firefox_profile ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/webdrone/browser.rb', line 6 def self.firefox_profile if @@firefox_profile == nil @@firefox_profile = Selenium::WebDriver::Firefox::Profile.new @@firefox_profile['startup.homepage_welcome_url.additional'] = 'about:blank' @@firefox_profile['browser.download.folderList'] = 2 @@firefox_profile['browser.download.manager.showWhenStarting'] = false @@firefox_profile['browser.helperApps.neverAsk.saveToDisk'] = "images/jpeg, application/pdf, application/octet-stream, application/download" end @@firefox_profile end |
.firefox_profile=(firefox_profile) ⇒ Object
17 18 19 |
# File 'lib/webdrone/browser.rb', line 17 def self.firefox_profile=(firefox_profile) @@firefox_profile = firefox_profile end |
Instance Method Details
#clic ⇒ Object
3 4 5 |
# File 'lib/webdrone/clic.rb', line 3 def clic @clic ||= Clic.new self end |
#conf ⇒ Object
3 4 5 |
# File 'lib/webdrone/conf.rb', line 3 def conf @conf ||= Conf.new self end |
#ctxt ⇒ Object
3 4 5 |
# File 'lib/webdrone/ctxt.rb', line 3 def ctxt @ctxt ||= Ctxt.new self end |
#exec ⇒ Object
3 4 5 |
# File 'lib/webdrone/exec.rb', line 3 def exec @exec ||= Exec.new self end |
#find ⇒ Object
3 4 5 |
# File 'lib/webdrone/find.rb', line 3 def find @find ||= Find.new self end |
#form ⇒ Object
3 4 5 |
# File 'lib/webdrone/form.rb', line 3 def form @form ||= Form.new self end |
#mark ⇒ Object
3 4 5 |
# File 'lib/webdrone/mark.rb', line 3 def mark @mark ||= Mark.new self end |
#maximize ⇒ Object
49 50 51 |
# File 'lib/webdrone/browser.rb', line 49 def maximize @driver.manage.window.maximize end |
#open ⇒ Object
3 4 5 |
# File 'lib/webdrone/open.rb', line 3 def open @open ||= Open.new self end |
#quit ⇒ Object
53 54 55 |
# File 'lib/webdrone/browser.rb', line 53 def quit @driver.quit end |
#shot ⇒ Object
3 4 5 |
# File 'lib/webdrone/shot.rb', line 3 def shot @shot ||= Shot.new self end |
#text ⇒ Object
3 4 5 |
# File 'lib/webdrone/text.rb', line 3 def text @text ||= Text.new self end |
#vrfy ⇒ Object
3 4 5 |
# File 'lib/webdrone/vrfy.rb', line 3 def vrfy @vrfy ||= Vrfy.new self end |
#wait ⇒ Object
3 4 5 |
# File 'lib/webdrone/wait.rb', line 3 def wait @wait ||= Wait.new self end |
#xlsx ⇒ Object
3 4 5 |
# File 'lib/webdrone/xlsx.rb', line 3 def xlsx @xlsx ||= Xlsx.new self end |