Всем привет!
Сделали переход на Selenium 3.9.0 + GeckoDriver 0.19 + FireFox 58.0.2.
Теперь половина тестов не работает, и везде возникает ошибка: selenium.common.exceptions.ElementClickInterceptedException: Message: Element <a id="tree54" class="tree54" href="javascript:void(0);"> is not clickable at point (151,823) because another element <div class="sidebarBottomElement"> obscures it
Айдишники и классы разные, в зависимости от точки клика.
Как это победить?
Написан отдельный метод на клик:
Язык тестов - Python
def click(driver, locator, sleep_time=5, expl_wait=40):
"""
Wait until element will be shown and clickable, then send 'click' to it.
TimeoutException will be generated if something's wrong (NOT NoSuchElementException).
:type driver: WebDriver
:type locator: tuple
:param sleep_time: delay before click
:param expl_wait: explicit waiting time for presence of element will found
:type sleep_time: float
:type expl_wait: float
"""
time.sleep(sleep_time)
WebDriverWait(driver, expl_wait, ignored_exceptions=StaleElementReferenceException).until(
ec.presence_of_element_located(locator))
# additional check were deleted, cause of some unexpected timeout exceptions on it
WebDriverWait(driver, 40).until(ec.element_to_be_clickable(locator))
driver.find_element(*locator).click()
wait_for_loading(driver)
К слову, на селениуме 2,53 и мозиле 45 все работало как часы.
Что нужно добавить\поменять, чтобы тесты бегали на ура? При просмотре через консоль, этот элементы куда надо кликнуть никем не перекрывается!