webdrone 0.6.0 → 0.7.0
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 +4 -4
- data/lib/webdrone.rb +3 -1
- data/lib/webdrone/browser.rb +8 -2
- data/lib/webdrone/ctxt.rb +12 -4
- data/lib/webdrone/form.rb +0 -1
- data/lib/webdrone/text.rb +4 -0
- data/lib/webdrone/version.rb +1 -1
- data/webdrone.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f843ad2ff8378a507c4de5910f80b7f2d0d3b32f
|
4
|
+
data.tar.gz: 0d419241e89e576359e801b145a036715af7fd04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 604fc7fa246b1bdf980f4293ea10b00e74ea8b49a0273e954f8d8e0196dbc5878ca1976bd4d21c352070abf18eb502707e1b94f736d4d08c8d07d894f241a75f
|
7
|
+
data.tar.gz: ac8e6583792828db09921933cb89cb495169fb17a2860197f9f3989a80fad2b69a583a9b61827b08a850c6e146ecff9c6a8e2469a19c922483d02d5ab3561c21
|
data/lib/webdrone.rb
CHANGED
@@ -18,6 +18,7 @@ require 'xpath'
|
|
18
18
|
require 'rubyXL'
|
19
19
|
require 'irb'
|
20
20
|
require 'fileutils'
|
21
|
+
require 'binding_of_caller'
|
21
22
|
|
22
23
|
module Webdrone
|
23
24
|
def self.create(*args)
|
@@ -33,8 +34,9 @@ module Webdrone
|
|
33
34
|
end
|
34
35
|
end
|
35
36
|
|
36
|
-
def self.irb_console(binding)
|
37
|
+
def self.irb_console(binding = nil)
|
37
38
|
return if IRB.CurrentContext
|
39
|
+
binding = Kernel.binding.of_caller(1) if binding == nil
|
38
40
|
IRB.start_session(binding)
|
39
41
|
end
|
40
42
|
end
|
data/lib/webdrone/browser.rb
CHANGED
@@ -2,14 +2,14 @@ module Webdrone
|
|
2
2
|
class Browser
|
3
3
|
attr_accessor :driver
|
4
4
|
|
5
|
-
def initialize(browser: 'chrome', create_outdir:
|
5
|
+
def initialize(browser: 'chrome', create_outdir: true, outdir: nil, timeout:, maximize: true)
|
6
6
|
if create_outdir or outdir
|
7
7
|
outdir ||= "webdrone_output/#{Time.new.strftime('%Y%m%d_%H%M')}"
|
8
8
|
self.conf.outdir = outdir
|
9
9
|
end
|
10
10
|
if outdir != nil and browser.to_sym == :chrome
|
11
11
|
prefs = { download: { prompt_for_download: false, default_directory: outdir } }
|
12
|
-
@driver = Selenium::WebDriver.for browser.to_sym, prefs: prefs
|
12
|
+
@driver = Selenium::WebDriver.for browser.to_sym, prefs: prefs, args: ['--disable-popup-blocking']
|
13
13
|
elsif outdir != nil and browser.to_sym == :firefox
|
14
14
|
profile = Selenium::WebDriver::Firefox::Profile.new
|
15
15
|
profile['startup.homepage_welcome_url.additional'] = 'about:blank'
|
@@ -21,6 +21,12 @@ module Webdrone
|
|
21
21
|
else
|
22
22
|
@driver = Selenium::WebDriver.for browser.to_sym
|
23
23
|
end
|
24
|
+
self.conf.timeout = timeout if timeout
|
25
|
+
self.maximize if maximize
|
26
|
+
end
|
27
|
+
|
28
|
+
def maximize
|
29
|
+
@driver.manage.window.maximize
|
24
30
|
end
|
25
31
|
|
26
32
|
def quit
|
data/lib/webdrone/ctxt.rb
CHANGED
@@ -27,14 +27,22 @@ module Webdrone
|
|
27
27
|
@framestack << name
|
28
28
|
@a0.driver.switch_to.frame name
|
29
29
|
if block_given?
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
30
|
+
begin
|
31
|
+
yield
|
32
|
+
ensure
|
33
|
+
@framestack.pop
|
34
|
+
@a0.driver.switch_to.default_content
|
35
|
+
@framestack.each { |frame| @a0.driver.switch_to.frame frame}
|
36
|
+
end
|
34
37
|
end
|
35
38
|
name
|
36
39
|
end
|
37
40
|
|
41
|
+
def reset
|
42
|
+
@a0.driver.switch_to.default_content
|
43
|
+
@ramestack = []
|
44
|
+
end
|
45
|
+
|
38
46
|
def with_alert
|
39
47
|
@a0.wait.for do
|
40
48
|
yield @a0.driver.switch_to.alert
|
data/lib/webdrone/form.rb
CHANGED
data/lib/webdrone/text.rb
CHANGED
data/lib/webdrone/version.rb
CHANGED
data/webdrone.gemspec
CHANGED
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.
|
4
|
+
version: 0.7.0
|
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-11-
|
11
|
+
date: 2015-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -122,6 +122,20 @@ dependencies:
|
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: binding_of_caller
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
125
139
|
description: See webpage for more info.
|
126
140
|
email:
|
127
141
|
- a@a0.cl
|