aranha-selenium 0.13.1 → 0.14.1
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/aranha/selenium/driver_factory/create_specified_driver.rb +33 -0
- data/lib/aranha/selenium/driver_factory.rb +24 -27
- data/lib/aranha/selenium/session/wait.rb +2 -2
- data/lib/aranha/selenium/version.rb +1 -1
- data/lib/aranha/selenium.rb +4 -10
- metadata +27 -27
- data/lib/aranha/selenium/executables.rb +0 -23
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 90b0b04d911d9091f8e47f3a22b2e95bbfbf2324498536bdf7b4f36147d76331
|
|
4
|
+
data.tar.gz: 17a834b5e9c49b8b2ce4de8f3bd5e909dd17d3a7c4206e6cce1312f7007bf327
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8368202b47138bdebf9e1203c2d9846e54f81035a20c80271a59d37398a0cb26dd205f710f5f8347dd6e3a8a56d7a86610973847d0036d0d1ee450eea935f98f
|
|
7
|
+
data.tar.gz: 8daa310be8e541fc40997b56b793a25ce1bfd427b9b0d339d590a95dde49763bfe9f3f0e6b571a64264d84f0c217fd948e9fde3e8a28a5275510fcf0ac383cf6
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Aranha
|
|
4
|
+
module Selenium
|
|
5
|
+
class DriverFactory
|
|
6
|
+
class CreateSpecifiedDriver
|
|
7
|
+
acts_as_instance_method
|
|
8
|
+
common_constructor :factory, :driver_name, :options
|
|
9
|
+
|
|
10
|
+
# @return [Aranha::Selenium::DriverFactory::Base]
|
|
11
|
+
def result
|
|
12
|
+
driver_class.new(driver_options).build
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
protected
|
|
16
|
+
|
|
17
|
+
# @return [Class<Aranha::Selenium::DriverFactory::Base>]
|
|
18
|
+
def driver_class
|
|
19
|
+
driver_class_name = driver_name.to_s.classify
|
|
20
|
+
Aranha::Selenium::DriverFactory.const_get(driver_class_name)
|
|
21
|
+
rescue NameError
|
|
22
|
+
raise "Unknown Aranha Selenium driver: \"#{driver_name}\" " \
|
|
23
|
+
"(Class \"Aranha::Selenium::DriverFactory::#{driver_class_name}\" not found)"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# @return [Aranha::Selenium::DriverOptions]
|
|
27
|
+
def driver_options
|
|
28
|
+
::Aranha::Selenium::DriverOptions.default.merge(options)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -9,49 +9,46 @@ module Aranha
|
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
11
|
|
|
12
|
-
DRIVERS =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}.freeze
|
|
12
|
+
DRIVERS = %i[chrome firefox].freeze
|
|
13
|
+
|
|
14
|
+
attr_reader :driver_name_from_options
|
|
16
15
|
|
|
17
16
|
# @!attribute [r] options
|
|
18
|
-
# @return [
|
|
17
|
+
# @return [Aranha::Selenium::DriverOptions]
|
|
19
18
|
|
|
20
19
|
# @!method initialize(options)
|
|
21
20
|
# @param options [ActiveSupport::HashWithIndifferentAccess]
|
|
22
21
|
common_constructor :options do
|
|
23
|
-
self.options = options.with_indifferent_access
|
|
22
|
+
self.options = options.with_indifferent_access
|
|
23
|
+
self.driver_name_from_options = options.delete(:driver)
|
|
24
|
+
self.options = ::Aranha::Selenium::DriverOptions.assert(options)
|
|
24
25
|
end
|
|
25
26
|
|
|
27
|
+
# @return [Aranha::Selenium::DriverFactory::Base]
|
|
26
28
|
def create_driver
|
|
27
|
-
|
|
29
|
+
if driver_name_from_options.present?
|
|
30
|
+
create_specified_driver(driver_name_from_options, options)
|
|
31
|
+
else
|
|
32
|
+
create_unspecified_driver
|
|
33
|
+
end
|
|
28
34
|
end
|
|
29
35
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
# @return [Aranha::Selenium::DriverFactory::Base]
|
|
37
|
+
def create_unspecified_driver
|
|
38
|
+
DRIVERS.each do |e|
|
|
39
|
+
return create_specified_driver(e, options)
|
|
40
|
+
rescue Selenium::WebDriver::Error::SessionNotCreatedError
|
|
41
|
+
# do nothing
|
|
42
|
+
end
|
|
33
43
|
|
|
34
|
-
|
|
35
|
-
Aranha::Selenium::DriverFactory.const_get(driver_name.classify)
|
|
36
|
-
rescue NameError
|
|
37
|
-
raise "Unknown Aranha Selenium driver: \"#{driver_name}\" " \
|
|
38
|
-
"(Class \"Aranha::Selenium::DriverFactory::#{driver_name.classify}\" not found)"
|
|
44
|
+
raise "No driver available (Tried: #{DRIVERS.join(', ')})"
|
|
39
45
|
end
|
|
40
46
|
|
|
41
|
-
|
|
42
|
-
DRIVERS.each do |driver, executable|
|
|
43
|
-
return driver if ::Aranha::Selenium::Executables.send(executable).exist?
|
|
44
|
-
end
|
|
47
|
+
protected
|
|
45
48
|
|
|
46
|
-
|
|
47
|
-
end
|
|
49
|
+
attr_writer :driver_name_from_options
|
|
48
50
|
|
|
49
|
-
|
|
50
|
-
def driver_options
|
|
51
|
-
::Aranha::Selenium::DriverOptions.default.merge(
|
|
52
|
-
::Aranha::Selenium::DriverOptions.assert(options.except(:driver))
|
|
53
|
-
)
|
|
54
|
-
end
|
|
51
|
+
require_sub __FILE__, require_mode: :kernel
|
|
55
52
|
end
|
|
56
53
|
end
|
|
57
54
|
end
|
|
@@ -21,9 +21,9 @@ module Aranha
|
|
|
21
21
|
# @param timeout [Integer]
|
|
22
22
|
# @return [Selenium::WebDriver::Element]
|
|
23
23
|
# @deprecated Use +element.wait_click+ instead.
|
|
24
|
-
def wait_for_click(find_element_args, timeout = nil, &
|
|
24
|
+
def wait_for_click(find_element_args, timeout = nil, &)
|
|
25
25
|
find_element_args = [find_element_args] if find_element_args.is_a?(::Hash)
|
|
26
|
-
element(*find_element_args).wait_click(timeout, &
|
|
26
|
+
element(*find_element_args).wait_click(timeout, &)
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
def wait_for_element(find_element_args)
|
data/lib/aranha/selenium.rb
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require '
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
module Selenium
|
|
8
|
-
end
|
|
3
|
+
require 'eac_ruby_base1'
|
|
4
|
+
EacRubyBase1::RootModuleSetup.perform __FILE__ do
|
|
5
|
+
require 'eac_fs'
|
|
6
|
+
require 'eac_templates'
|
|
9
7
|
end
|
|
10
|
-
|
|
11
|
-
require 'aranha'
|
|
12
|
-
require 'eac_fs'
|
|
13
|
-
require 'eac_templates'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aranha-selenium
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.14.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Esquilo Azul Company
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-08-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: aranha
|
|
@@ -17,6 +17,9 @@ dependencies:
|
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: '0.20'
|
|
20
|
+
- - ">="
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 0.20.1
|
|
20
23
|
type: :runtime
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -24,6 +27,9 @@ dependencies:
|
|
|
24
27
|
- - "~>"
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
29
|
version: '0.20'
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 0.20.1
|
|
27
33
|
- !ruby/object:Gem::Dependency
|
|
28
34
|
name: eac_fs
|
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -31,6 +37,9 @@ dependencies:
|
|
|
31
37
|
- - "~>"
|
|
32
38
|
- !ruby/object:Gem::Version
|
|
33
39
|
version: '0.20'
|
|
40
|
+
- - ">="
|
|
41
|
+
- !ruby/object:Gem::Version
|
|
42
|
+
version: 0.20.2
|
|
34
43
|
type: :runtime
|
|
35
44
|
prerelease: false
|
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -38,46 +47,43 @@ dependencies:
|
|
|
38
47
|
- - "~>"
|
|
39
48
|
- !ruby/object:Gem::Version
|
|
40
49
|
version: '0.20'
|
|
50
|
+
- - ">="
|
|
51
|
+
- !ruby/object:Gem::Version
|
|
52
|
+
version: 0.20.2
|
|
41
53
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
54
|
+
name: eac_ruby_base1
|
|
43
55
|
requirement: !ruby/object:Gem::Requirement
|
|
44
56
|
requirements:
|
|
45
57
|
- - "~>"
|
|
46
58
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0.
|
|
59
|
+
version: '0.1'
|
|
48
60
|
- - ">="
|
|
49
61
|
- !ruby/object:Gem::Version
|
|
50
|
-
version: 0.
|
|
62
|
+
version: 0.1.1
|
|
51
63
|
type: :runtime
|
|
52
64
|
prerelease: false
|
|
53
65
|
version_requirements: !ruby/object:Gem::Requirement
|
|
54
66
|
requirements:
|
|
55
67
|
- - "~>"
|
|
56
68
|
- !ruby/object:Gem::Version
|
|
57
|
-
version: '0.
|
|
69
|
+
version: '0.1'
|
|
58
70
|
- - ">="
|
|
59
71
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: 0.
|
|
72
|
+
version: 0.1.1
|
|
61
73
|
- !ruby/object:Gem::Dependency
|
|
62
74
|
name: eac_templates
|
|
63
75
|
requirement: !ruby/object:Gem::Requirement
|
|
64
76
|
requirements:
|
|
65
77
|
- - "~>"
|
|
66
78
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '0.
|
|
68
|
-
- - ">="
|
|
69
|
-
- !ruby/object:Gem::Version
|
|
70
|
-
version: 0.8.3
|
|
79
|
+
version: '0.9'
|
|
71
80
|
type: :runtime
|
|
72
81
|
prerelease: false
|
|
73
82
|
version_requirements: !ruby/object:Gem::Requirement
|
|
74
83
|
requirements:
|
|
75
84
|
- - "~>"
|
|
76
85
|
- !ruby/object:Gem::Version
|
|
77
|
-
version: '0.
|
|
78
|
-
- - ">="
|
|
79
|
-
- !ruby/object:Gem::Version
|
|
80
|
-
version: 0.8.3
|
|
86
|
+
version: '0.9'
|
|
81
87
|
- !ruby/object:Gem::Dependency
|
|
82
88
|
name: rexml
|
|
83
89
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -104,34 +110,28 @@ dependencies:
|
|
|
104
110
|
requirements:
|
|
105
111
|
- - "~>"
|
|
106
112
|
- !ruby/object:Gem::Version
|
|
107
|
-
version: '4.
|
|
113
|
+
version: '4.44'
|
|
108
114
|
type: :runtime
|
|
109
115
|
prerelease: false
|
|
110
116
|
version_requirements: !ruby/object:Gem::Requirement
|
|
111
117
|
requirements:
|
|
112
118
|
- - "~>"
|
|
113
119
|
- !ruby/object:Gem::Version
|
|
114
|
-
version: '4.
|
|
120
|
+
version: '4.44'
|
|
115
121
|
- !ruby/object:Gem::Dependency
|
|
116
122
|
name: eac_ruby_gem_support
|
|
117
123
|
requirement: !ruby/object:Gem::Requirement
|
|
118
124
|
requirements:
|
|
119
125
|
- - "~>"
|
|
120
126
|
- !ruby/object:Gem::Version
|
|
121
|
-
version: '0.
|
|
122
|
-
- - ">="
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: 0.12.1
|
|
127
|
+
version: '0.14'
|
|
125
128
|
type: :development
|
|
126
129
|
prerelease: false
|
|
127
130
|
version_requirements: !ruby/object:Gem::Requirement
|
|
128
131
|
requirements:
|
|
129
132
|
- - "~>"
|
|
130
133
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: '0.
|
|
132
|
-
- - ">="
|
|
133
|
-
- !ruby/object:Gem::Version
|
|
134
|
-
version: 0.12.1
|
|
134
|
+
version: '0.14'
|
|
135
135
|
- !ruby/object:Gem::Dependency
|
|
136
136
|
name: stub_server
|
|
137
137
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -157,11 +157,11 @@ files:
|
|
|
157
157
|
- lib/aranha/selenium/driver_factory.rb
|
|
158
158
|
- lib/aranha/selenium/driver_factory/base.rb
|
|
159
159
|
- lib/aranha/selenium/driver_factory/chrome.rb
|
|
160
|
+
- lib/aranha/selenium/driver_factory/create_specified_driver.rb
|
|
160
161
|
- lib/aranha/selenium/driver_factory/firefox.rb
|
|
161
162
|
- lib/aranha/selenium/driver_factory/firefox_auto_download_mime_types
|
|
162
163
|
- lib/aranha/selenium/driver_options.rb
|
|
163
164
|
- lib/aranha/selenium/driver_options/option.rb
|
|
164
|
-
- lib/aranha/selenium/executables.rb
|
|
165
165
|
- lib/aranha/selenium/session.rb
|
|
166
166
|
- lib/aranha/selenium/session/downloads.rb
|
|
167
167
|
- lib/aranha/selenium/session/element.rb
|
|
@@ -185,7 +185,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
185
185
|
requirements:
|
|
186
186
|
- - ">="
|
|
187
187
|
- !ruby/object:Gem::Version
|
|
188
|
-
version: '2
|
|
188
|
+
version: '3.2'
|
|
189
189
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
190
190
|
requirements:
|
|
191
191
|
- - ">="
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Aranha
|
|
4
|
-
module Selenium
|
|
5
|
-
module Executables
|
|
6
|
-
class << self
|
|
7
|
-
enable_simple_cache
|
|
8
|
-
|
|
9
|
-
def env
|
|
10
|
-
::EacRubyUtils::Envs.local
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
private
|
|
14
|
-
|
|
15
|
-
%w[chromedriver geckodriver].each do |program|
|
|
16
|
-
define_method("#{program.underscore}_uncached") do
|
|
17
|
-
env.executable(program, '--version')
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|