1- from typing import Union
2-
3- from selenium import webdriver
41from selenium .common .exceptions import NoSuchElementException , TimeoutException
52from selenium .webdriver .common .by import By
63from selenium .webdriver .support import expected_conditions as EC
74from selenium .webdriver .support .ui import WebDriverWait
85
9- from s_tool .exceptions import SToolException
6+ from s_tool .utils . driver_exceptions import SToolException
107
118
12- def get_session (driver : webdriver ) -> str :
9+ def get_session (driver ) :
1310 """Return Selenium Driver session id"""
1411 return driver .session_id
1512
1613
17- def visit (driver : webdriver , url : str ) -> None :
14+ def visit (driver , url ) :
1815 """visit given url"""
1916 driver .get (url )
2017
2118
22- def page_source (driver : webdriver ) -> str :
19+ def page_source (driver ) :
2320 """Return html page source"""
2421 return driver .page_source
2522
2623
27- def current_url (driver : webdriver ) -> str :
24+ def current_url (driver ) :
2825 """Return current url"""
2926 return driver .current_url
3027
3128
32- def get_locator (locator_type : str , locator_text : str ) -> tuple :
29+ def get_locator (locator_type , locator_text ) :
3330 """Return element locator
3431
3532 Args:
@@ -43,9 +40,7 @@ def get_locator(locator_type: str, locator_text: str) -> tuple:
4340 return getattr (By , locator ), locator_text
4441
4542
46- def get_element (
47- driver : webdriver , locator_type : str , locator_text : str , many : bool = None
48- ):
43+ def get_element (driver , locator_type , locator_text , many = None ):
4944 """Get element using locator type and locator text
5045
5146 Args:
@@ -77,9 +72,7 @@ def get_element(
7772 raise SToolException ("INVALID_SELECTOR" )
7873
7974
80- def click (
81- driver : webdriver , locator_type : str , locator_text : str , click_time : int = 10
82- ) -> Union [bool , None ]:
75+ def click (driver , locator_type , locator_text , click_time = 10 ):
8376 """Return True if element clicked otherwise return None
8477
8578 Args:
@@ -106,7 +99,7 @@ def click(
10699 raise SToolException (ex )
107100
108101
109- def get_cookies (driver : webdriver ) -> dict :
102+ def get_cookies (driver ) :
110103 """Accept driver object and return cookies in dictionary
111104
112105 Args:
@@ -121,7 +114,7 @@ def get_cookies(driver: webdriver) -> dict:
121114 return cookies_dict or {}
122115
123116
124- def take_screenshot (driver : webdriver , element : tuple = None ) -> Union [ bytes , None ] :
117+ def take_screenshot (driver , element = None ):
125118 """take screenshot of given element if element is
126119 not given take a full page screeenshot and return
127120 data in bytes
@@ -150,7 +143,7 @@ def take_screenshot(driver: webdriver, element: tuple = None) -> Union[bytes, No
150143 return driver .get_screenshot_as_png ()
151144
152145
153- def display_element (driver : webdriver , element , hide = None ) -> None :
146+ def display_element (driver , element , hide = None ):
154147 """hide or show single element
155148
156149 Args:
@@ -166,7 +159,7 @@ def display_element(driver: webdriver, element, hide=None) -> None:
166159 driver .execute_script (f"arguments[0].style.display = '{ hide_or_show } ';" , element )
167160
168161
169- def hide_show_elements (driver : webdriver , elements : list , hide : bool = None ) -> None :
162+ def hide_show_elements (driver , elements , hide = None ):
170163 """hide or show multiple elements
171164
172165 Args:
@@ -181,7 +174,7 @@ def hide_show_elements(driver: webdriver, elements: list, hide: bool = None) ->
181174 """
182175 for element_locator in elements :
183176 locator_type , locator_value = element_locator
184- element_list = get_element (driver , locator_type , locator_value , many = True )
177+ element_list = get_element (driver , locator_type , locator_value , 1 )
185178 if element_list :
186179 for element in element_list :
187180 display_element (driver , element , hide )
0 commit comments