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/html.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
- #html ⇒ Object
-
#initialize(browser: 'firefox', create_outdir: true, outdir: nil, timeout:, developer: false, maximize: true, error: :raise_report, 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: 'firefox', create_outdir: true, outdir: nil, timeout:, developer: false, maximize: true, error: :raise_report, 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 48 49 50 |
# File 'lib/webdrone/browser.rb', line 28 def initialize(browser: 'firefox', create_outdir: true, outdir: nil, timeout:, developer: false, maximize: true, error: :raise_report, 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 downdir = OS.windows? ? outdir.gsub("/", "\\") : outdir firefox_profile['browser.download.dir'] = downdir @driver = Selenium::WebDriver.for browser.to_sym, profile: firefox_profile else @driver = Selenium::WebDriver.for browser.to_sym end self.conf.error = error self.conf.developer = developer 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
#maximize ⇒ Object
52 53 54 |
# File 'lib/webdrone/browser.rb', line 52 def maximize @driver.manage.window.maximize end |
#quit ⇒ Object
56 57 58 |
# File 'lib/webdrone/browser.rb', line 56 def quit @driver.quit end |