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):
107
107
108
108
def extend_driver (driver ):
109
109
# Extend the driver with new methods
110
+ driver .default_find_element = driver .find_element
110
111
DM = sb_driver .DriverMethods (driver )
112
+ driver .find_element = DM .find_element
113
+ driver .locator = DM .locator
111
114
page = types .SimpleNamespace ()
112
115
page .open = DM .open_url
113
116
page .click = DM .click
Original file line number Diff line number Diff line change 1
1
"""Add new methods to extend the driver"""
2
2
from seleniumbase .fixtures import js_utils
3
3
from seleniumbase .fixtures import page_actions
4
+ from seleniumbase .fixtures import page_utils
4
5
5
6
6
7
class DriverMethods ():
7
8
def __init__ (self , driver ):
8
9
self .driver = driver
9
10
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
+
10
32
def open_url (self , * args , ** kwargs ):
11
33
page_actions .open_url (self .driver , * args , ** kwargs )
12
34
You can’t perform that action at this time.
0 commit comments