File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -107,7 +107,10 @@ def make_driver_executable_if_not(driver_path):
107107
108108def extend_driver (driver ):
109109 # Extend the driver with new methods
110+ driver .default_find_element = driver .find_element
110111 DM = sb_driver .DriverMethods (driver )
112+ driver .find_element = DM .find_element
113+ driver .locator = DM .locator
111114 page = types .SimpleNamespace ()
112115 page .open = DM .open_url
113116 page .click = DM .click
Original file line number Diff line number Diff line change 11"""Add new methods to extend the driver"""
22from seleniumbase .fixtures import js_utils
33from seleniumbase .fixtures import page_actions
4+ from seleniumbase .fixtures import page_utils
45
56
67class DriverMethods ():
78 def __init__ (self , driver ):
89 self .driver = driver
910
11+ def find_element (self , by , value = None ):
12+ if not value :
13+ value = by
14+ by = "css selector"
15+ else :
16+ value , by = page_utils .swap_selector_and_by_if_reversed (value , by )
17+ return self .driver .default_find_element (by = by , value = value )
18+
19+ def locator (self , selector , by = None ):
20+ if not by :
21+ by = "css selector"
22+ else :
23+ selector , by = page_utils .swap_selector_and_by_if_reversed (
24+ selector , by
25+ )
26+ try :
27+ return self .driver .default_find_element (by = by , value = selector )
28+ except Exception :
29+ pass
30+ raise Exception ('No such Element: {%s} (by="%s")!' % (selector , by ))
31+
1032 def open_url (self , * args , ** kwargs ):
1133 page_actions .open_url (self .driver , * args , ** kwargs )
1234
You can’t perform that action at this time.
0 commit comments