@aab137

Селениум. Использую find_elements и get_atribute, а как сделать одним запросом, чтобы без ошибки not attached?

Делаю так:
dialogs = [i.get_attribute('data-list-id') for i in
                   self.find_elements_by_xpath('//ul[@id="im_dialogs"]/li[contains(@class, "nim-dialog_unread ")]')]

Здесь может вылезти ошибка not attached, как сделать, чтобы сразу находился не элемент, а атрибут одним запросом?
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Насчёт not-attached - я подозреваю, ты не дождался, пока страница полностью прогрузится.
А вообще в XPath есть выбор значения атрибута:
//ul[@id="im_dialogs"]/li[contains(@class, "nim-dialog_unread ")]/@data-list-id

Либо, возможно, так
string(//ul[@id="im_dialogs"]/li[contains(@class, "nim-dialog_unread ")]/@data-list-id)

Здесь string() - это не Python-функция, а XPath-функция. Если селениум её поддерживает, то запрос должен вернуть именно строковое значение атрибута.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 07:47
2000 руб./за проект
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект