Skip to content

Commit c4e1378

Browse files
committed
Handling link text
1 parent 2ed5e79 commit c4e1378

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

seleniumbase/fixtures/base_case.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,10 @@ def click_link_text(self, link_text, timeout=settings.SMALL_TIMEOUT):
261261
else:
262262
self._demo_mode_pause_if_active(tiny=True)
263263

264+
def click_link(self, link_text, timeout=settings.SMALL_TIMEOUT):
265+
""" Same as self.click_link_text() """
266+
self.click_link_text(link_text, timeout=timeout)
267+
264268
def click_partial_link_text(self, partial_link_text,
265269
timeout=settings.SMALL_TIMEOUT):
266270
""" This method clicks the partial link text on a page. """
@@ -343,6 +347,9 @@ def get_attribute(self, selector, attribute, by=By.CSS_SELECTOR,
343347
timeout = self._get_new_timeout(timeout)
344348
if page_utils.is_xpath_selector(selector):
345349
by = By.XPATH
350+
if page_utils.is_link_text_selector(selector):
351+
selector = page_utils.get_link_text_from_selector(selector)
352+
by = By.LINK_TEXT
346353
self.wait_for_ready_state_complete()
347354
time.sleep(0.01)
348355
element = page_actions.wait_for_element_present(
@@ -516,11 +523,17 @@ def update_text(self, selector, new_value, by=By.CSS_SELECTOR,
516523
def is_element_present(self, selector, by=By.CSS_SELECTOR):
517524
if page_utils.is_xpath_selector(selector):
518525
by = By.XPATH
526+
if page_utils.is_link_text_selector(selector):
527+
selector = page_utils.get_link_text_from_selector(selector)
528+
by = By.LINK_TEXT
519529
return page_actions.is_element_present(self.driver, selector, by)
520530

521531
def is_element_visible(self, selector, by=By.CSS_SELECTOR):
522532
if page_utils.is_xpath_selector(selector):
523533
by = By.XPATH
534+
if page_utils.is_link_text_selector(selector):
535+
selector = page_utils.get_link_text_from_selector(selector)
536+
by = By.LINK_TEXT
524537
return page_actions.is_element_visible(self.driver, selector, by)
525538

526539
def is_link_text_visible(self, link_text):
@@ -961,6 +974,9 @@ def wait_for_element_present(self, selector, by=By.CSS_SELECTOR,
961974
timeout = self._get_new_timeout(timeout)
962975
if page_utils.is_xpath_selector(selector):
963976
by = By.XPATH
977+
if page_utils.is_link_text_selector(selector):
978+
selector = page_utils.get_link_text_from_selector(selector)
979+
by = By.LINK_TEXT
964980
return page_actions.wait_for_element_present(
965981
self.driver, selector, by, timeout)
966982

@@ -986,6 +1002,9 @@ def wait_for_element_visible(self, selector, by=By.CSS_SELECTOR,
9861002
The element must be visible (it cannot be hidden). """
9871003
if page_utils.is_xpath_selector(selector):
9881004
by = By.XPATH
1005+
if page_utils.is_link_text_selector(selector):
1006+
selector = page_utils.get_link_text_from_selector(selector)
1007+
by = By.LINK_TEXT
9891008
return page_actions.wait_for_element_visible(
9901009
self.driver, selector, by, timeout)
9911010

@@ -1024,6 +1043,9 @@ def wait_for_text_visible(self, text, selector, by=By.CSS_SELECTOR,
10241043
timeout = self._get_new_timeout(timeout)
10251044
if page_utils.is_xpath_selector(selector):
10261045
by = By.XPATH
1046+
if page_utils.is_link_text_selector(selector):
1047+
selector = page_utils.get_link_text_from_selector(selector)
1048+
by = By.LINK_TEXT
10271049
return page_actions.wait_for_text_visible(
10281050
self.driver, text, selector, by, timeout)
10291051

@@ -1152,6 +1174,9 @@ def wait_for_element_not_visible(self, selector, by=By.CSS_SELECTOR,
11521174
timeout = self._get_new_timeout(timeout)
11531175
if page_utils.is_xpath_selector(selector):
11541176
by = By.XPATH
1177+
if page_utils.is_link_text_selector(selector):
1178+
selector = page_utils.get_link_text_from_selector(selector)
1179+
by = By.LINK_TEXT
11551180
return page_actions.wait_for_element_not_visible(
11561181
self.driver, selector, by, timeout)
11571182

0 commit comments

Comments
 (0)