uWotM8
@uWotM8
грейпфрут

Не кликает по элементу, как решить?

Есть у меня такая вот функция (да, знаю, говнокод, не кидайтесь камнями, только недавно начал учить python)
По идее тут должно нажать на "корзинку" покажется табличка "Да\Нет" и кликнуть по кнопке "Да". Но эта собака кликает по корзинке и не хочет кликать по "Да"

def del_post(self):
        wait = WebDriverWait(self.driver, 10)
        self.driver.implicitly_wait(10)
        self.driver.find_elements_by_class_name('fa-trash')[0].click()
        self.driver.implicitly_wait(10)
        element = wait.until(EC.element_to_be_clickable(
            (By.CSS_SELECTOR, 'div.event - header>div.event-controls>ul>li.event-menu.ng-scope>i>delete-confirm>'
                              'button.btn.btn-small.red.waves-effect.waves-light')))
            #(By.XPATH, '//*/div[1]/div[3]/ul/li[3]/i/delete-confirm/button[1]'))).click()
        time.sleep(2)
        return element.click()


HTML
<i class="fa fa-trash ng-isolate-scope" delete-confirm-open="$ctrl.removeTopic($event)" aria-hidden="true">
<delete-confirm on-delete="onDelete()" class="ng-scope ng-isolate-scope">
<button class="btn btn-small red waves-effect waves-light" ng-click="$ctrl.close(true)">Да
</button>
<button class="btn btn-small green waves-effect waves-light" ng-click="$ctrl.close()">Нет
</button>
</delete-confirm></i>


Пробовал по XPath, таже фигня.

Трейсбек
Message: stale element reference: element is not attached to the page document
  • Вопрос задан
  • 823 просмотра
Решения вопроса 1
Полный stacktrace был бы полезен, но Гадание на черствых пряников, подсказывает что проблема в строчке
return element.click()

И судя по ошибке, элемента или уже нет на странице или он обновился.
сделайте скриншот с драйвера, на момент ошибки, и увидете есть он или нет.
уберите все не нужные слипы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@gill-sama
необходимо перейти на фрейм с подтверждением. в вашем коде этого нет.
что то вроде self.driver.switch_to_alert() до выбора элемента
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы