findElement 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/findElement.rb +37 -5
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c47e351bbd487b377c2212a6f606faa9b08d0d16c94df79682142071fd0edc4
|
4
|
+
data.tar.gz: 49c920582345f34997e1db687fd050563f77ddda114478b0a9f79d596ce680e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: afde9e1688ad933927b067b95f3ca856d3d77b6b1ba8ae601a14b2bf4fb89c871a139b1e50b321ac7e3b217a8dffb159815ccd7f3d8ceaa1b0a2721d471d8f31
|
7
|
+
data.tar.gz: ff7d8012b4bde01cb8be50dc39a199423f6065271a0b6338fcdb76152a744af26ac47bbfcdd52c59aab348d2c5306a11f8ef9600b843667fa06038dc5f7e5b96
|
data/lib/findElement.rb
CHANGED
@@ -1,11 +1,43 @@
|
|
1
1
|
|
2
2
|
|
3
|
+
=begin
|
4
|
+
|
5
|
+
@example:
|
6
|
+
<div class="container pos-rl">
|
7
|
+
<div id="MastheadBannerShowHide" class="hidden hidden-m">
|
8
|
+
<div class="content">Hidden subject</div>
|
9
|
+
<div class="background"></div>
|
10
|
+
<div class="border"></div>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
<span aria-label="Button busy" class="adv-spinner loadingSpinner" role="img">picture</span>
|
14
|
+
<div id='div-gpt-ad-1455279154558-0' class="mastheadBanner text-center hidden-m"></div>
|
15
|
+
<div id='div-gpt-ad-1459260874003-0' class="mastheadBanner text-center visible-m"></div>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
findElement("Hidden subject").["class"] ==> content
|
19
|
+
|
20
|
+
findElement("div-gpt-ad-1455279154558-0").click ==>click element
|
21
|
+
|
22
|
+
findElement("adv-spinner loadingSpinner").text ==> picture
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
=end
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
|
3
36
|
def findElement text
|
4
37
|
|
5
38
|
soruce = page.html
|
6
39
|
cond = soruce.split(text)
|
7
40
|
if cond.count == 2
|
8
|
-
|
9
41
|
tag = cond[0].split("<").last
|
10
42
|
tag = tag.split[0]
|
11
43
|
|
@@ -19,14 +51,14 @@ def findElement text
|
|
19
51
|
unless attr.include? "=\""
|
20
52
|
return find(:xpath, "//#{tag}[contains(text(),'#{text}')]", visible: true)
|
21
53
|
else
|
22
|
-
|
23
|
-
|
24
|
-
return find(:xpath, "//#{tag}[@#{
|
54
|
+
key = attr.split('="')[0].split[1]
|
55
|
+
value = attr.split(key)[1].split('"')[1]
|
56
|
+
return find(:xpath, "//#{tag}[@#{key}='#{value}'][contains(text(),'#{text}')]", visible: true)
|
25
57
|
end
|
26
58
|
end
|
27
59
|
else
|
28
60
|
|
29
|
-
attr_name = ['name', 'id', 'class', 'href', 'title', 'type', 'placeholder','value', 'list', 'dropzone', 'draggable', 'download', 'form', 'headers']
|
61
|
+
attr_name = ['name', 'id', 'class', 'href','data-title','data-dismiss' ,'style','title', 'type', 'placeholder','value', 'list', 'dropzone', 'draggable', 'download', 'form', 'headers']
|
30
62
|
i = 0
|
31
63
|
attr_name.each do |attribute|
|
32
64
|
@element = attribute + '="' + text + '"'
|