Skip to content

Commit 3041687

Browse files
aguspeharsha509
andauthored
[rb] Update finders examples and move them (#1800)[deploy site]
* Update finders examples and move them * Fix spacing issue --------- Co-authored-by: aguspe <[email protected]> Co-authored-by: Sri Harsha <[email protected]>
1 parent 4cfda68 commit 3041687

File tree

5 files changed

+115
-252
lines changed

5 files changed

+115
-252
lines changed

examples/ruby/spec/elements/finders_spec.rb

+35
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,39 @@
44

55
RSpec.describe 'Element Finders' do
66
let(:driver) { start_session }
7+
8+
context 'without executing finders', skip: 'these are just examples, not actual tests' do
9+
it 'finds the first matching element' do
10+
driver.find_element(class: 'tomatoes')
11+
end
12+
13+
it 'uses a subset of the dom to find an element' do
14+
fruits = driver.find_element(id: 'fruits')
15+
fruit = fruits.find_element(class: 'tomatoes')
16+
end
17+
18+
it 'uses an optimized locator' do
19+
fruit = driver.find_element(css: '#fruits .tomatoes')
20+
end
21+
22+
it 'finds all matching elements' do
23+
plants = driver.find_elements(tag_name: 'li')
24+
end
25+
26+
it 'gets an element from a collection' do
27+
elements = driver.find_elements(:tag_name,'p')
28+
elements.each { |e| puts e.text }
29+
end
30+
31+
it 'finds element from element' do
32+
element = driver.find_element(:tag_name,'div')
33+
elements = element.find_elements(:tag_name,'p')
34+
elements.each { |e| puts e.text }
35+
end
36+
37+
it 'find active element' do
38+
driver.find_element(css: '[name="q"]').send_keys('webElement')
39+
attr = driver.switch_to.active_element.attribute('title')
40+
end
41+
end
742
end

website_and_docs/content/documentation/webdriver/elements/finders.en.md

+20-63
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ vegetable = driver.find_element(By.CLASS_NAME, "tomatoes")
5252
{{< tab header="CSharp" >}}
5353
var vegetable = driver.FindElement(By.ClassName("tomatoes"));
5454
{{< /tab >}}
55-
{{< tab header="Ruby" >}}
56-
vegetable = driver.find_element(class: 'tomatoes')
57-
{{< /tab >}}
55+
{{< tab header="Ruby" text=true >}}
56+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L14-L15">}}
57+
{{< /tab >}}
5858
{{< tab header="JavaScript" >}}
5959
const vegetable = await driver.findElement(By.className('tomatoes'));
6060
{{< /tab >}}
@@ -87,10 +87,9 @@ fruit = fruits.find_element(By.CLASS_NAME,"tomatoes")
8787
IWebElement fruits = driver.FindElement(By.Id("fruits"));
8888
IWebElement fruit = fruits.FindElement(By.ClassName("tomatoes"));
8989
{{< /tab >}}
90-
{{< tab header="Ruby" >}}
91-
fruits = driver.find_element(id: 'fruits')
92-
fruit = fruits.find_element(class: 'tomatoes')
93-
{{< /tab >}}
90+
{{< tab header="Ruby" text=true >}}
91+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L14-L15">}}
92+
{{< /tab >}}
9493
{{< tab header="JavaScript" >}}
9594
const fruits = await driver.findElement(By.id('fruits'));
9695
const fruit = fruits.findElement(By.className('tomatoes'));
@@ -131,9 +130,9 @@ fruit = driver.find_element(By.CSS_SELECTOR,"#fruits .tomatoes")
131130
{{< tab header="CSharp" >}}
132131
var fruit = driver.FindElement(By.CssSelector("#fruits .tomatoes"));
133132
{{< /tab >}}
134-
{{< tab header="Ruby" >}}
135-
fruit = driver.find_element(css: '#fruits .tomatoes')
136-
{{< /tab >}}
133+
{{< tab header="Ruby" text=true >}}
134+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L19" >}}
135+
{{< /tab >}}
137136
{{< tab header="JavaScript" >}}
138137
const fruit = await driver.findElement(By.css('#fruits .tomatoes'));
139138
{{< /tab >}}
@@ -161,9 +160,9 @@ plants = driver.find_elements(By.TAG_NAME, "li")
161160
{{< tab header="CSharp" >}}
162161
IReadOnlyList<IWebElement> plants = driver.FindElements(By.TagName("li"));
163162
{{< /tab >}}
164-
{{< tab header="Ruby" >}}
165-
plants = driver.find_elements(tag_name: 'li')
166-
{{< /tab >}}
163+
{{< tab header="Ruby" text=true >}}
164+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L23" >}}
165+
{{< /tab >}}
167166
{{< tab header="JavaScript" >}}
168167
const plants = await driver.findElements(By.tagName('li'));
169168
{{< /tab >}}
@@ -227,23 +226,9 @@ namespace FindElementsExample {
227226
}
228227
}
229228
{{< /tab >}}
230-
{{< tab header="Ruby" >}}
231-
require 'selenium-webdriver'
232-
driver = Selenium::WebDriver.for :firefox
233-
begin
234-
# Navigate to URL
235-
driver.get 'https://www.example.com'
236-
237-
# Get all the elements available with tag name 'p'
238-
elements = driver.find_elements(:tag_name,'p')
239-
240-
elements.each { |e|
241-
puts e.text
242-
}
243-
ensure
244-
driver.quit
245-
end
246-
{{< /tab >}}
229+
{{< tab header="Ruby" text=true >}}
230+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L27-L28" >}}
231+
{{< /tab >}}
247232
{{< tab header="JavaScript" >}}
248233
const {Builder, By} = require('selenium-webdriver');
249234
(async function example() {
@@ -359,26 +344,9 @@ namespace FindElementsFromElement {
359344
}
360345
}
361346
{{< /tab >}}
362-
{{< tab header="Ruby" >}}
363-
require 'selenium-webdriver'
364-
driver = Selenium::WebDriver.for :chrome
365-
begin
366-
# Navigate to URL
367-
driver.get 'https://www.example.com'
368-
369-
# Get element with tag name 'div'
370-
element = driver.find_element(:tag_name,'div')
371-
372-
# Get all the elements available with tag name 'p'
373-
elements = element.find_elements(:tag_name,'p')
374-
375-
elements.each { |e|
376-
puts e.text
377-
}
378-
ensure
379-
driver.quit
380-
end
381-
{{< /tab >}}
347+
{{< tab header="Ruby" text=true >}}
348+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L32-L34" >}}
349+
{{< /tab >}}
382350
{{< tab header="JavaScript" >}}
383351
const {Builder, By} = require('selenium-webdriver');
384352

@@ -484,19 +452,8 @@ It is used to track (or) find DOM element which has the focus in the current bro
484452
}
485453
}
486454
{{< /tab >}}
487-
{{< tab header="Ruby" >}}
488-
require 'selenium-webdriver'
489-
driver = Selenium::WebDriver.for :chrome
490-
begin
491-
driver.get 'https://www.google.com'
492-
driver.find_element(css: '[name="q"]').send_keys('webElement')
493-
494-
# Get attribute of current active element
495-
attr = driver.switch_to.active_element.attribute('title')
496-
puts attr
497-
ensure
498-
driver.quit
499-
end
455+
{{< tab header="Ruby" text=true >}}
456+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L38-L39" >}}
500457
{{< /tab >}}
501458
{{< tab header="JavaScript" >}}
502459
const {Builder, By} = require('selenium-webdriver');

website_and_docs/content/documentation/webdriver/elements/finders.ja.md

+20-63
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ vegetable = driver.find_element(By.CLASS_NAME, "tomatoes")
4949
{{< tab header="CSharp" >}}
5050
var vegetable = driver.FindElement(By.ClassName("tomatoes"));
5151
{{< /tab >}}
52-
{{< tab header="Ruby" >}}
53-
vegetable = driver.find_element(class: 'tomatoes')
54-
{{< /tab >}}
52+
{{< tab header="Ruby" text=true >}}
53+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L10" >}}
54+
{{< /tab >}}
5555
{{< tab header="JavaScript" >}}
5656
const vegetable = await driver.findElement(By.className('tomatoes'));
5757
{{< /tab >}}
@@ -81,10 +81,9 @@ fruit = fruits.find_element(By.CLASS_NAME,"tomatoes")
8181
IWebElement fruits = driver.FindElement(By.Id("fruits"));
8282
IWebElement fruit = fruits.FindElement(By.ClassName("tomatoes"));
8383
{{< /tab >}}
84-
{{< tab header="Ruby" >}}
85-
fruits = driver.find_element(id: 'fruits')
86-
fruit = fruits.find_element(class: 'tomatoes')
87-
{{< /tab >}}
84+
{{< tab header="Ruby" text=true >}}
85+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L14-L15" >}}
86+
{{< /tab >}}
8887
{{< tab header="JavaScript" >}}
8988
const fruits = await driver.findElement(By.id('fruits'));
9089
const fruit = fruits.findElement(By.className('tomatoes'));
@@ -121,9 +120,9 @@ fruit = driver.find_element(By.CSS_SELECTOR,"#fruits .tomatoes")
121120
{{< tab header="CSharp" >}}
122121
var fruit = driver.FindElement(By.CssSelector("#fruits .tomatoes"));
123122
{{< /tab >}}
124-
{{< tab header="Ruby" >}}
125-
fruit = driver.find_element(css: '#fruits .tomatoes')
126-
{{< /tab >}}
123+
{{< tab header="Ruby" text=true >}}
124+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L19" >}}
125+
{{< /tab >}}
127126
{{< tab header="JavaScript" >}}
128127
const fruit = await driver.findElement(By.css('#fruits .tomatoes'));
129128
{{< /tab >}}
@@ -150,9 +149,9 @@ plants = driver.find_elements(By.TAG_NAME, "li")
150149
{{< tab header="CSharp" >}}
151150
IReadOnlyList<IWebElement> plants = driver.FindElements(By.TagName("li"));
152151
{{< /tab >}}
153-
{{< tab header="Ruby" >}}
154-
plants = driver.find_elements(tag_name: 'li')
155-
{{< /tab >}}
152+
{{< tab header="Ruby" text=true >}}
153+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L23" >}}
154+
{{< /tab >}}
156155
{{< tab header="JavaScript" >}}
157156
const plants = await driver.findElements(By.tagName('li'));
158157
{{< /tab >}}
@@ -214,23 +213,9 @@ namespace FindElementsExample {
214213
}
215214
}
216215
{{< /tab >}}
217-
{{< tab header="Ruby" >}}
218-
require 'selenium-webdriver'
219-
driver = Selenium::WebDriver.for :firefox
220-
begin
221-
# Navigate to URL
222-
driver.get 'https://www.example.com'
223-
224-
# Get all the elements available with tag name 'p'
225-
elements = driver.find_elements(:tag_name,'p')
226-
227-
elements.each { |e|
228-
puts e.text
229-
}
230-
ensure
231-
driver.quit
232-
end
233-
{{< /tab >}}
216+
{{< tab header="Ruby" text=true >}}
217+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L27-L28" >}}
218+
{{< /tab >}}
234219
{{< tab header="JavaScript" >}}
235220
const {Builder, By} = require('selenium-webdriver');
236221
(async function example() {
@@ -345,26 +330,9 @@ namespace FindElementsFromElement {
345330
}
346331
}
347332
{{< /tab >}}
348-
{{< tab header="Ruby" >}}
349-
require 'selenium-webdriver'
350-
driver = Selenium::WebDriver.for :chrome
351-
begin
352-
# Navigate to URL
353-
driver.get 'https://www.example.com'
354-
355-
# Get element with tag name 'div'
356-
element = driver.find_element(:tag_name,'div')
357-
358-
# Get all the elements available with tag name 'p'
359-
elements = element.find_elements(:tag_name,'p')
360-
361-
elements.each { |e|
362-
puts e.text
363-
}
364-
ensure
365-
driver.quit
366-
end
367-
{{< /tab >}}
333+
{{< tab header="Ruby" text=true >}}
334+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L32-L34" >}}
335+
{{< /tab >}}
368336
{{< tab header="JavaScript" >}}
369337
const {Builder, By} = require('selenium-webdriver');
370338

@@ -469,19 +437,8 @@ namespace FindElementsFromElement {
469437
}
470438
}
471439
{{< /tab >}}
472-
{{< tab header="Ruby" >}}
473-
require 'selenium-webdriver'
474-
driver = Selenium::WebDriver.for :chrome
475-
begin
476-
driver.get 'https://www.google.com'
477-
driver.find_element(css: '[name="q"]').send_keys('webElement')
478-
479-
# Get attribute of current active element
480-
attr = driver.switch_to.active_element.attribute('title')
481-
puts attr
482-
ensure
483-
driver.quit
484-
end
440+
{{< tab header="Ruby" text=true >}}
441+
{{< gh-codeblock path="/examples/ruby/spec/elements/finders_spec.rb#L38-L39" >}}
485442
{{< /tab >}}
486443
{{< tab header="JavaScript" >}}
487444
const {Builder, By} = require('selenium-webdriver');

0 commit comments

Comments
 (0)