smart_driver 1.0.0 → 1.0.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/smart_driver/version.rb +1 -1
- data/lib/smart_driver.rb +19 -5
- 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: d8160985cfdd5f728718306a1c64898d87f596b8
|
4
|
+
data.tar.gz: 3c0edb4b022f975a0d838641c04d803a3d47b4a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c04f2a7ac82a109c2f0a695432fd2519640ce27d6bf3bfb2663c413f61e5b147faf744e5ccf2f17ef3a584817cedd96cfe58d72d873cae1a10e47bc6fd991000
|
7
|
+
data.tar.gz: 5ca35deb3420f9964cfb9cfed2b842445d385a7875c861f2dd643f9f1d615d4d1a0b1c708ff0800209d442b83beda79c11d1a4dd8d4ffd53143b4960e2099905
|
data/lib/smart_driver/version.rb
CHANGED
data/lib/smart_driver.rb
CHANGED
@@ -31,6 +31,20 @@ class SmartDriver
|
|
31
31
|
logging :fail, "#{selector} cannot be found"
|
32
32
|
end
|
33
33
|
|
34
|
+
def find_by_text(text)
|
35
|
+
logging :info, "find by text #{text}..."
|
36
|
+
@__driver__.find_element({xpath: "//*[text()[contains(.,\"#{text}\")]]"})
|
37
|
+
rescue Selenium::WebDriver::Error::NoSuchElementError
|
38
|
+
logging :fail, "element with #{text} cannot be found"
|
39
|
+
end
|
40
|
+
|
41
|
+
def finds_by_text(text)
|
42
|
+
logging :info, "finds by text #{text}..."
|
43
|
+
@__driver__.find_elements({xpath: "//*[text()[contains(.,\"#{text}\")]]"})
|
44
|
+
rescue Selenium::WebDriver::Error::NoSuchElementError
|
45
|
+
logging :fail, "elements with #{text} cannot be found"
|
46
|
+
end
|
47
|
+
|
34
48
|
# http://stackoverflow.com/questions/11908249/debugging-element-is-not-clickable-at-point-error
|
35
49
|
def scroll(selector)
|
36
50
|
logging :info, "scroll to #{selector}..."
|
@@ -41,14 +55,10 @@ class SmartDriver
|
|
41
55
|
|
42
56
|
def has?(selector)
|
43
57
|
!!find(selector)
|
44
|
-
rescue Selenium::WebDriver::Error::NoSuchElementError
|
45
|
-
false
|
46
58
|
end
|
47
59
|
|
48
60
|
def has_text?(text)
|
49
|
-
|
50
|
-
rescue Selenium::WebDriver::Error::NoSuchElementError
|
51
|
-
false
|
61
|
+
!!find_by_text(text)
|
52
62
|
end
|
53
63
|
|
54
64
|
def click(selector)
|
@@ -73,6 +83,10 @@ class SmartDriver
|
|
73
83
|
@__driver__.respond_to?(method) ? @__driver__.send(method, *args, &block) : super
|
74
84
|
end
|
75
85
|
|
86
|
+
def switch_window(num)
|
87
|
+
@__driver__.switch_to.window @__driver__.window_handles[num]
|
88
|
+
end
|
89
|
+
|
76
90
|
private
|
77
91
|
def logging(sym, text)
|
78
92
|
label = case sym
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smart_driver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- gogotanaka
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|