def test(web_browser, authorisation):
page.wait_page_loaded()
page.search_fl1.is_clickable()
page.search_fl1.click()
search_fl1 = WebElement(xpath='//div[@class="table-wrapper"]//input[@data-placeholder="Поиск"]')
class WebElement(object):
_locator = ('', '')
_web_driver = None
_page = None
_timeout = 10
_wait_after_click = False
def __init__(self, timeout=10, wait_after_click=False, **kwargs):
self._timeout = timeout
self._wait_after_click = wait_after_click
for attr in kwargs:
self._locator = (str(attr).replace('_', ' '), str(kwargs.get(attr)))
def click(self, hold_seconds=0, x_offset=1, y_offset=1):
""" Wait and click the element. """
element = self.wait_to_be_clickable()
if element:
action = ActionChains(self._web_driver)
action.move_to_element_with_offset(element, x_offset, y_offset).\
pause(hold_seconds).click(on_element=element).perform()
else:
msg = 'Element with locator {0} not found'
raise AttributeError(msg.format(self._locator))
if self._wait_after_click:
self._page.wait_page_loaded()