aranha-selenium 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 21d5ec38a1006e6df4ea9f098fb351fb61e8d174e306f6ba858a9efacc53f4c0
4
- data.tar.gz: 436207b23653cd35ce02368a27bccb04544242d1d3d77e7e92ef289f1dfb1e63
3
+ metadata.gz: 82fc3d4a93f7604561ee1afce7acfce337143bbc62334bd833ba2cd9fcefd9b0
4
+ data.tar.gz: ba31da261585ca18616e000cf800c10a1204913f55a7356d54c713e9c41ee79b
5
5
  SHA512:
6
- metadata.gz: 99b2874c772bda29cb94d0da4622af3ed5ee7536fe5c089aa32d6a913b4fc5e959bb4008b868df6e0f1c15aba91e32b0e2ddba2d4db66c1ac800ca142ede58d2
7
- data.tar.gz: 17f830d15dd7174de9a118a5a1eee5204bb57ac33f40fe7741eabafe6d4973759854d61cfef35c358dd63ca49bdd751db6931644c2748f8703c4bbc2cc96b981
6
+ metadata.gz: 1fb2e96b4ead2335ce8e61322e4abbd291a47daadbc68f8722e9cde5e4f5b1b339e3758a19b7af44f068b184b9318a80a43ada69c4175192a3ef1b06806ebe97
7
+ data.tar.gz: e0816a6dc634e784060da79d1723815dd7fb33c51d173157ebaef96b66de8d45eeb576eb20d41bbee0daaa87dbf63b66b300b0cceee83af9649efb276bd28358
@@ -20,7 +20,8 @@ module Aranha
20
20
  end
21
21
 
22
22
  def chrome_arguments
23
- r = %w[--disable-popup-blocking --disable-translate]
23
+ r = %w[--disable-popup-blocking --disable-translate
24
+ --disable-blink-features=AutomationControlled]
24
25
  r << '--ignore-certificate-errors' if accept_insecure_certs?
25
26
  r << '--headless' if headless?
26
27
  r << "--user-agent=#{user_agent}" if user_agent.present?
@@ -23,11 +23,9 @@ module Aranha
23
23
  end
24
24
 
25
25
  def build_capabilities
26
- if accept_insecure_certs?
27
- ::Selenium::WebDriver::Remote::Capabilities.firefox(accept_insecure_certs: true)
28
- else
29
- ::Selenium::WebDriver::Remote::Capabilities.firefox
30
- end
26
+ caps = {}
27
+ caps[:accept_insecure_certs] = true if accept_insecure_certs?
28
+ ::Selenium::WebDriver::Remote::Capabilities.firefox(caps)
31
29
  end
32
30
 
33
31
  def build_options
@@ -50,7 +48,7 @@ module Aranha
50
48
 
51
49
  def build_profile
52
50
  if profile_name.present?
53
- ::Selenium::WebDriver::Firefox::Profile.from_name(v)
51
+ ::Selenium::WebDriver::Firefox::Profile.from_name(profile_name)
54
52
  elsif profile_dir.present?
55
53
  ::FileUtils.mkdir_p(profile_dir)
56
54
  ::Selenium::WebDriver::Firefox::Profile.new(profile_dir)
@@ -17,6 +17,13 @@ module Aranha
17
17
  )
18
18
  end
19
19
 
20
+ # @return [Selenium::WebDriver::Element, nil]
21
+ def find_element(*args, &block)
22
+ return args.first if args.count >= 1 && args.first.is_a?(::Selenium::WebDriver::Element)
23
+
24
+ __getobj__.find_element(*args, &block)
25
+ end
26
+
20
27
  def find_or_not_element(find_element_args)
21
28
  r = find_elements(find_element_args)
22
29
  r.any? ? r.first : nil
@@ -44,6 +51,13 @@ module Aranha
44
51
  new_downloads.first
45
52
  end
46
53
 
54
+ def wait_for_url_change(&block)
55
+ previous_url = current_url
56
+ block&.call
57
+
58
+ wait.until { current_url != previous_url }
59
+ end
60
+
47
61
  def current_source
48
62
  element = find_element(xpath: '/html[1]')
49
63
  raise 'Root element not found' unless element
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Aranha
4
4
  module Selenium
5
- VERSION = '0.2.0'
5
+ VERSION = '0.3.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aranha-selenium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
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: 2021-03-28 00:00:00.000000000 Z
11
+ date: 2022-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: activesupport
14
+ name: eac_ruby_utils
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '0.70'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '0.70'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: selenium-webdriver
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -50,20 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0.1'
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: 0.1.1
53
+ version: '0.3'
57
54
  type: :development
58
55
  prerelease: false
59
56
  version_requirements: !ruby/object:Gem::Requirement
60
57
  requirements:
61
58
  - - "~>"
62
59
  - !ruby/object:Gem::Version
63
- version: '0.1'
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: 0.1.1
60
+ version: '0.3'
67
61
  description:
68
62
  email:
69
63
  executables: []
@@ -97,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
91
  - !ruby/object:Gem::Version
98
92
  version: '0'
99
93
  requirements: []
100
- rubygems_version: 3.0.9
94
+ rubygems_version: 3.1.6
101
95
  signing_key:
102
96
  specification_version: 4
103
97
  summary: Selenium' utilities for Ruby.