watigiri 0.3.2 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/watigiri/locators/element/locator.rb +23 -5
- data/watigiri.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2fd0e4b0bff75232878fbfa396d89e6d8c6bafbc
|
4
|
+
data.tar.gz: 06ee3c3acf02723a8de7aca0b02e8f84422b56f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f919b5c53a445536ef18177c5609bce92995072a32048268c82763f262aa25916184e4c9fc07ce1a5d800001cd5b4090a2347f4fabd4208915e266c5df821c1
|
7
|
+
data.tar.gz: 5dd9eb0bf66df384af9ff4430bc26e0e32e87b2ca07c372ad969b2d831fab0b2b92e7f071482dfe98a6113ed1d62bed1bb5c0b0fdddaba5a5d56e65400e3ceea
|
@@ -8,7 +8,7 @@ module Watigiri
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def tag_name
|
11
|
-
element.name
|
11
|
+
element.name.downcase
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
@@ -19,8 +19,13 @@ module Watigiri
|
|
19
19
|
@regex = regex?
|
20
20
|
|
21
21
|
return super unless @nokogiri || @regex
|
22
|
-
|
23
|
-
|
22
|
+
@query_scope.doc ||= if @query_scope.is_a?(Watir::Browser)
|
23
|
+
Nokogiri::HTML(@query_scope.html).tap { |d| d.css('script').remove }
|
24
|
+
else
|
25
|
+
# This should be using `#fragment`, but can't because of
|
26
|
+
# https://github.com/sparklemotion/nokogiri/issues/572
|
27
|
+
Nokogiri::HTML(@query_scope.inner_html)
|
28
|
+
end
|
24
29
|
|
25
30
|
element = using_watir(:first)
|
26
31
|
return if element.nil?
|
@@ -63,11 +68,12 @@ module Watigiri
|
|
63
68
|
def nokogiri_to_selenium(element)
|
64
69
|
return element if element.is_a?(Selenium::WebDriver::Element)
|
65
70
|
tag = element.tag_name
|
66
|
-
index = @query_scope.doc.xpath("
|
71
|
+
index = @query_scope.doc.xpath(".//#{tag}").find_index { |el| el == element.element }
|
67
72
|
Watir::Element.new(@query_scope, index: index, tag_name: tag).wd
|
68
73
|
end
|
69
74
|
|
70
75
|
def regex?
|
76
|
+
return false unless (@selector.keys & %i[adjacent visible label text visible_text]).empty?
|
71
77
|
@selector.values.any? { |v| v.is_a?(Regexp) }
|
72
78
|
end
|
73
79
|
end
|
@@ -88,12 +94,22 @@ module Watigiri
|
|
88
94
|
class Cell
|
89
95
|
class Locator < Watir::Locators::Cell::Locator
|
90
96
|
include LocatorHelpers
|
97
|
+
|
98
|
+
# Don't use for rows
|
99
|
+
def regex?
|
100
|
+
false
|
101
|
+
end
|
91
102
|
end
|
92
103
|
end
|
93
104
|
|
94
105
|
class Row
|
95
106
|
class Locator < Watir::Locators::Row::Locator
|
96
107
|
include LocatorHelpers
|
108
|
+
|
109
|
+
# Don't use for rows
|
110
|
+
def regex?
|
111
|
+
false
|
112
|
+
end
|
97
113
|
end
|
98
114
|
end
|
99
115
|
|
@@ -102,6 +118,7 @@ module Watigiri
|
|
102
118
|
include LocatorHelpers
|
103
119
|
|
104
120
|
def regex?
|
121
|
+
return false unless (@selector.keys & %i[adjacent visible label text visible_text]).empty?
|
105
122
|
@selector.any? { |k, v| v.is_a?(Regexp) && k != :value }
|
106
123
|
end
|
107
124
|
end
|
@@ -115,7 +132,7 @@ module Watigiri
|
|
115
132
|
return super if element.is_a? Selenium::WebDriver::Element
|
116
133
|
rx_selector = rx_selector.dup
|
117
134
|
|
118
|
-
tag_name = element.
|
135
|
+
tag_name = element.tag_name
|
119
136
|
|
120
137
|
[:text, :value, :label].each do |key|
|
121
138
|
if rx_selector.key?(key)
|
@@ -130,6 +147,7 @@ module Watigiri
|
|
130
147
|
end
|
131
148
|
|
132
149
|
def regex?
|
150
|
+
return false unless (@selector.keys & %i[adjacent visible label text visible_text]).empty?
|
133
151
|
@selector.any? { |k, v| v.is_a?(Regexp) && k != :value }
|
134
152
|
end
|
135
153
|
end
|
data/watigiri.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: watigiri
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Titus Fortner
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|