Как сделать вывод из веб-очистки python selenium в классе div для вывода текста

Это мой код `

from attr import attr
import requests
from bs4 import BeautifulSoup
import csv

datas = []
key = 'sepatu'
jenis = 'teplek'
url = 'https://website.com/search/?term = {}+{}'.format(key,jenis)
headers = {
    'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64; rv:106.0) Gecko/20100101 Firefox/106.0'
}
req = requests.get(url, headers=headers)
soup = BeautifulSoup (req.text, 'html.parser')
sepatu = soup.find_all('div', 'element_1')
for it in sepatu:
    harga = it.find('div','element').__str__
    datas.append([harga])
hasil = ['Harga'] 
write = csv.writer(open('result/{}_{}.csv'.format(key,jenis), 'w', newline=''))
write.writerow (hasil)
for d in datas: write.writerow(d)

это вывод из этого кода

Колонка А <привязанный метод Tag.unicode за 88 000 рупий > <привязанный метод Tag.unicode 200 000 рупий >

как превратить этот выход в этот выход

Колонка А 88.000 рупий 200 000 рупий

я пытался harga = it.find('div','element').__str__ на harga = it.find('div','element').text но у меня ошибка AttributeError: 'NoneType' object has no attribute 'text'

я пытаюсь изучить веб-очистку python selenium, но я получил блок путем вывода в текст, и я ожидаю, что хочу, чтобы весь вывод был в текст

попробуй: harga.get_attribute('textContent')

Mahmud Alptekin 02.11.2022 09:34
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
4
1
58
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Похоже, проблема связана с командами, которые вы используете для поиска элементов. Если элемент не найден, BS возвращает для них None.
Что означают element_1 и element в этих строках?:

sepatu = soup.find_all('div', 'element_1')

и

harga = it.find('div','element').__str__

Если это идентификаторы, вам нужно установить это так:

sepatu = soup.find_all('div', {'id': 'element_1'})

Если это имя класса:

sepatu = soup.find_all('div', {'class': 'element_1'})

Или любой другой атрибут:

sepatu = soup.find_all('div', {'attr_name': 'element_1'})

Когда элемент найден, вы можете использовать свойство .text, чтобы получить его текст.

Ответ принят как подходящий

Вы можете добавить .text в эту строку

harga = soup.find("div", {"class": "db gM ei b hE be f16-360-o ff vb uT ellipsis-1"}).text

Тогда вы получите такой вывод

Нама Сепату Харга Сепату А 24.000 рупий

Другие вопросы по теме