• Как определить локатор?

    @tatianasu Автор вопроса
    Спасибо!!
    Написано
  • Selenium не находит поле поиска, хотя локатор задан верно, что делать?

    @tatianasu Автор вопроса
    врятли проблема с моим кодом или ожиданиями, потому что написала уже пару десятков тестов на этом патерне. Но тем не менее вот он
    Я пишу с использованием PogeObgect, поэтому код разбросан по страницам. Но вот главные части:

    Сам тест:
    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()
    Написано