Вот соответствующая часть моего кода:
Рабочий код (без ошибок)
Код: Выделить всё
page_content = BeautifulSoup(driver.page_source, "html.parser")
article_rows = page_content.select(".project-row.published")
for i, article_row in enumerate(article_rows):
title = article_row.select_one(".project-title")
print("title", title.get_text())
Код: Выделить всё
title
title for the article
Код: Выделить всё
page_content = BeautifulSoup(driver.page_source, "html.parser")
article_rows = page_content.select(".project-row.published")
for i, article_row in enumerate(article_rows):
title = article_row.select_one(".project-title").get_text()
Код: Выделить всё
AttributeError: 'NoneType' object has no attribute 'get_text'
- В первом блоке кода я сохраняю результат select_one в заголовке переменной, а затем вызываем get_text() для этой переменной. Это работает без каких-либо проблем.
- Во втором блоке кода я пытаюсь вызвать get_text() непосредственно для результата select_one, но это приводит к AttributeError.
Почему первый подход работает без ошибок, а второй второй подход вызывает ошибку AttributeError? Как я могу безопасно вызвать get_text() напрямую?
Дополнительная информация:
- Я убедился, что элементы с названием проекта класса существуют на странице.
- Используя Python 3.12.4 и BeautifulSoup 4.12.3.
- Страница загружается правильно, и все элементы кажутся на месте.
Любые идеи или решения по предотвращению ошибки AttributeError
code> при прямом вызове get_text() будет очень признателен.
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/786 ... -text-when