Skip to content

Commit d0aed6f

Browse files
committed
Initial commit
0 parents  commit d0aed6f

32 files changed

+858
-0
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
geckodriver.log
2+
venv/
3+
.vscode/

action_class/drag-and-drop.py

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
from selenium import webdriver
2+
from selenium.webdriver.common.by import By
3+
from selenium.webdriver import ActionChains
4+
import time
5+
6+
class DragAndDrop():
7+
8+
def test1(self):
9+
baseUrl = "https://jqueryui.com/droppable/"
10+
driver = webdriver.Firefox()
11+
driver.maximize_window()
12+
driver.get(baseUrl)
13+
driver.implicitly_wait(3)
14+
15+
driver.switch_to.frame(0)
16+
17+
fromElement = driver.find_element(By.ID, "draggable")
18+
toElement = driver.find_element(By.ID, "droppable")
19+
time.sleep(2)
20+
try:
21+
actions = ActionChains(driver)
22+
actions.drag_and_drop(fromElement, toElement).perform()
23+
# actions.click_and_hold(fromElement).move_to_element(toElement).release().perform()
24+
print("Drag And Drop Element Successful")
25+
time.sleep(2)
26+
except:
27+
print("Drag And Drop failed on element")
28+
29+
ff = DragAndDrop()
30+
ff.test1()

action_class/mouse-hovering.py

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
from selenium import webdriver
2+
from selenium.webdriver.common.by import By
3+
from selenium.webdriver import ActionChains
4+
import time
5+
6+
class MouseHovering():
7+
8+
def test1(self):
9+
baseUrl = "https://letskodeit.teachable.com/pages/practice"
10+
driver = webdriver.Firefox()
11+
driver.maximize_window()
12+
driver.get(baseUrl)
13+
driver.implicitly_wait(3)
14+
15+
driver.execute_script("window.scrollBy(0, 600);")
16+
time.sleep(2)
17+
element = driver.find_element(By.ID, "mousehover")
18+
itemToClickLocator = ".//div[@class='mouse-hover-content']//a[text()='Top']"
19+
try:
20+
actions = ActionChains(driver)
21+
actions.move_to_element(element).perform()
22+
print("Mouse Hovered on element")
23+
time.sleep(2)
24+
topLink = driver.find_element(By.XPATH, itemToClickLocator)
25+
actions.move_to_element(topLink).click().perform()
26+
print("Item Clicked")
27+
except:
28+
print("Mouse Hover failed on element")
29+
30+
ff = MouseHovering()
31+
ff.test1()

action_class/sliders.py

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
from selenium import webdriver
2+
from selenium.webdriver.common.by import By
3+
from selenium.webdriver import ActionChains
4+
import time
5+
6+
class Sliders():
7+
8+
def test1(self):
9+
baseUrl = "https://jqueryui.com/slider/"
10+
driver = webdriver.Firefox()
11+
driver.maximize_window()
12+
driver.get(baseUrl)
13+
driver.implicitly_wait(3)
14+
15+
driver.switch_to.frame(0)
16+
17+
element = driver.find_element(By.XPATH, "//div[@id='slider']//span")
18+
time.sleep(2)
19+
try:
20+
actions = ActionChains(driver)
21+
actions.drag_and_drop_by_offset(element, 100, 0).perform()
22+
print("Sliding Element Successful")
23+
time.sleep(2)
24+
except:
25+
print("Sliding failed on element")
26+
27+
ff = Sliders()
28+
ff.test1()

advanced_selenium/auto-complete.py

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from selenium import webdriver
2+
from selenium.webdriver.common.by import By
3+
import time
4+
5+
class AutoComplete():
6+
7+
def test(self):
8+
baseUrl = "http://www.southwest.com"
9+
driver = webdriver.Firefox()
10+
driver.maximize_window()
11+
driver.get(baseUrl)
12+
driver.implicitly_wait(3)
13+
14+
# Send Partial Data
15+
cityField = driver.find_element_by_id("air-city-departure")
16+
cityField.send_keys("New York")
17+
time.sleep(3)
18+
# Find the item and click
19+
itemToSelect = driver.find_element_by_xpath("//ul[@id='air-city-departure-menu']//li[contains(text(),'NJ - EWR')]")
20+
itemToSelect.click()
21+
22+
# time.sleep(3)
23+
# driver.quit()
24+
25+
ff = AutoComplete()
26+
ff.test()
+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from selenium import webdriver
2+
from selenium.webdriver.common.by import By
3+
import time
4+
5+
class CalendarSelection():
6+
7+
def test1(self):
8+
baseUrl = "http://www.expedia.com"
9+
driver = webdriver.Firefox()
10+
driver.maximize_window()
11+
driver.get(baseUrl)
12+
driver.implicitly_wait(3)
13+
14+
# Click flights tab
15+
driver.find_element_by_id("tab-flight-tab").click()
16+
# Find departing field
17+
departingField = driver.find_element_by_id("flight-departing")
18+
# Click departing field
19+
departingField.click()
20+
# Find the date to be selected
21+
# Expedia website has changed the DOM after the lecture was made
22+
# Updated new xpath
23+
dateToSelect = driver.find_element(By.XPATH,
24+
"(//div[@class='datepicker-cal-month'])[1]//button[text()='30']")
25+
# Click the date
26+
dateToSelect.click()
27+
28+
time.sleep(3)
29+
driver.quit()
30+
31+
ff = CalendarSelection()
32+
ff.test1()
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from selenium import webdriver
2+
from selenium.webdriver.common.by import By
3+
import time
4+
5+
class JavaScriptExecution():
6+
7+
def test(self):
8+
driver = webdriver.Firefox()
9+
driver.maximize_window()
10+
# driver.get("https://letskodeit.teachable.com/pages/practice")
11+
driver.execute_script("window.location = 'https://letskodeit.teachable.com/pages/practice';")
12+
driver.implicitly_wait(3)
13+
time.sleep(6)
14+
15+
# element = driver.find_element(By.ID, "name")
16+
element = driver.execute_script("return document.getElementById('name');")
17+
element.send_keys("Test")
18+
19+
ff = JavaScriptExecution()
20+
ff.test()

advanced_selenium/screenshots.py

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
from selenium import webdriver
2+
from selenium.webdriver.common.by import By
3+
import time
4+
5+
class Screenshots():
6+
7+
def test(self):
8+
baseUrl = "https://letskodeit.teachable.com/"
9+
driver = webdriver.Firefox()
10+
driver.maximize_window()
11+
driver.get(baseUrl)
12+
driver.implicitly_wait(3)
13+
14+
driver.find_element(By.LINK_TEXT, "Login").click()
15+
driver.find_element(By.ID, "user_email").send_keys("[email protected]")
16+
driver.find_element(By.ID, "user_password").send_keys("abc")
17+
driver.find_element(By.NAME, "commit").click()
18+
destinationFileName = "/Users/atomar/Desktop/test.png" # Mac
19+
# destinationFileName = "C:\\atomar\\Desktop" -> Windows
20+
21+
try:
22+
driver.save_screenshot(destinationFileName)
23+
print("Screenshot saved to directory --> :: " + destinationFileName)
24+
except NotADirectoryError:
25+
print("Not a directory issue")
26+
27+
ff = Screenshots()
28+
ff.test()
+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
from selenium import webdriver
2+
from selenium.webdriver.common.by import By
3+
import time
4+
5+
class ScrollingElement():
6+
7+
def test(self):
8+
driver = webdriver.Firefox()
9+
driver.maximize_window()
10+
driver.get("https://letskodeit.teachable.com/pages/practice")
11+
driver.implicitly_wait(3)
12+
13+
14+
# Scroll Down
15+
driver.execute_script("window.scrollBy(0, 1000);")
16+
time.sleep(3)
17+
18+
# Scroll Up
19+
driver.execute_script("window.scrollBy(0, -1000);")
20+
time.sleep(3)
21+
22+
# Scroll Element Into View
23+
element = driver.find_element(By.ID, "mousehover")
24+
driver.execute_script("arguments[0].scrollIntoView(true);", element)
25+
time.sleep(2)
26+
driver.execute_script("window.scrollBy(0, -150);")
27+
28+
# Native Way To Scroll Element Into View
29+
time.sleep(2)
30+
driver.execute_script("window.scrollBy(0, -1000);")
31+
location = element.location_once_scrolled_into_view
32+
print("Location: " + str(location))
33+
driver.execute_script("window.scrollBy(0, -150);")
34+
35+
36+
37+
ff = ScrollingElement()
38+
ff.test()

finding_elements.py

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from selenium import webdriver
2+
3+
class FindByID():
4+
def test(self):
5+
baseUrl = "https://letskodeit.teachable.com/p/practice"
6+
driver = webdriver.Firefox()
7+
driver.get(baseUrl)
8+
elementbyID = driver.find_element_by_id("name")
9+
if elementbyID is not None:
10+
print("Found")
11+
12+
if __name__ == "__main__":
13+
find = FindByID()
14+
find.test()

interaction/BrowserInteractions.py

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
from selenium import webdriver
2+
3+
class BrowserInteractions():
4+
5+
def test(self):
6+
baseUrl = "https://letskodeit.teachable.com/pages/practice"
7+
driver = webdriver.Firefox()
8+
9+
# Window Maximize
10+
driver.maximize_window()
11+
# Open the Url
12+
driver.get(baseUrl)
13+
# Get Title
14+
title = driver.title
15+
print("Title of the web page is: " + title)
16+
# Get Current Url
17+
currentUrl = driver.current_url
18+
print("Current Url of the web page is: " + currentUrl)
19+
# Browser Refresh
20+
driver.refresh()
21+
print("Browser Refreshed 1st time")
22+
driver.get(driver.current_url)
23+
print("Browser Refreshed 2nd time")
24+
# Open another Url
25+
driver.get("https://sso.teachable.com/secure/42299/users/sign_in?reset_purchase_session=1")
26+
currentUrl = driver.current_url
27+
print("Current Url of the web page is: " + currentUrl)
28+
# Browser Back
29+
driver.back()
30+
print("Go one step back in browser history")
31+
currentUrl = driver.current_url
32+
print("Current Url of the web page is: " + currentUrl)
33+
# Browser Forward
34+
driver.forward()
35+
print("Go one step forward in browser history")
36+
currentUrl = driver.current_url
37+
print("Current Url of the web page is: " + currentUrl)
38+
# Get Page Source
39+
pageSource = driver.page_source
40+
print(pageSource)
41+
# Browser Close / Quit
42+
# driver.close()
43+
driver.quit()
44+
45+
ff = BrowserInteractions()
46+
ff.test()

interaction/DropdownSelect.py

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
from selenium import webdriver
2+
import time
3+
from selenium.webdriver.support.select import Select
4+
5+
class DropdownSelect():
6+
7+
def test(self):
8+
baseUrl = "https://letskodeit.teachable.com/pages/practice"
9+
driver = webdriver.Firefox()
10+
driver.maximize_window()
11+
driver.get(baseUrl)
12+
driver.implicitly_wait(10)
13+
14+
element = driver.find_element_by_id("carselect")
15+
sel = Select(element)
16+
17+
sel.select_by_value("benz")
18+
print("Select Benz by value")
19+
time.sleep(2)
20+
21+
sel.select_by_index("2")
22+
print("Select Honda by index")
23+
time.sleep(2)
24+
25+
sel.select_by_visible_text("BMW")
26+
print("Select BMW by visible text")
27+
time.sleep(2)
28+
29+
sel.select_by_index(2)
30+
print("Select Honda by index")
31+
32+
33+
ff = DropdownSelect()
34+
ff.test()

interaction/ElementState.py

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
from selenium import webdriver
2+
3+
class ElementState():
4+
5+
def isEnabled(self):
6+
baseUrl = "http://www.google.com"
7+
driver = webdriver.Firefox()
8+
driver.maximize_window()
9+
driver.get(baseUrl)
10+
driver.implicitly_wait(3)
11+
12+
e1 = driver.find_element_by_id("gs_htif0")
13+
e1State = e1.is_enabled() # True for enabled and False for disabled
14+
print("E1 is Enabled? -> " + str(e1State))
15+
16+
e2 = driver.find_element_by_id("gs_taif0")
17+
e2State = e2.is_enabled() # True for enabled and False for disabled
18+
print("E2 is Enabled? -> " + str(e2State))
19+
20+
e3 = driver.find_element_by_id("lst-ib")
21+
e3State = e3.is_enabled() # True for enabled and False for disabled
22+
print("E3 is Enabled? -> " + str(e3State))
23+
24+
e3.send_keys("letskodeit")
25+
26+
27+
28+
e = ElementState()
29+
e.isEnabled()

0 commit comments

Comments
 (0)