Основные характеристики (вывод)
This commit is contained in:
parent
0de563e865
commit
c3c6a8588e
@ -8,36 +8,52 @@ from webdriver_manager.chrome import ChromeDriverManager
|
||||
# Инициализация драйвера
|
||||
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
|
||||
|
||||
# URL страницы товара
|
||||
# URL страницы каталога ноутбуков
|
||||
url = 'https://www.citilink.ru/catalog/noutbuki/?ref=mainpage'
|
||||
|
||||
# Переход на страницу
|
||||
driver.get(url)
|
||||
|
||||
# Определение характеристик для поиска
|
||||
target_specs = ["Экран", "Процессор", "Графический процессор", "Оперативная память", "Диск", "Операционная система"]
|
||||
|
||||
try:
|
||||
# Ожидание появления хотя бы одного элемента <li> с указанным классом
|
||||
# Ожидание загрузки блоков с ноутбуками
|
||||
WebDriverWait(driver, 10).until(
|
||||
EC.presence_of_element_located((By.CSS_SELECTOR, 'li.app-catalog-12y5psc.e4qu3682'))
|
||||
EC.presence_of_all_elements_located((By.CSS_SELECTOR, 'div.app-catalog-1o4umte.ec53oil0'))
|
||||
)
|
||||
|
||||
# Поиск всех элементов <li> с указанным классом
|
||||
all_elements = driver.find_elements(By.CSS_SELECTOR, 'li.app-catalog-12y5psc.e4qu3682')
|
||||
# Поиск блоков с ноутбуками
|
||||
laptop_blocks = driver.find_elements(By.CSS_SELECTOR, 'div.app-catalog-1o4umte.ec53oil0')
|
||||
|
||||
# Список для хранения информации об оперативной памяти
|
||||
ram_info_list = []
|
||||
# Список для сохранения всех характеристик ноутбуков
|
||||
all_laptops_specs = []
|
||||
|
||||
# Фильтрация элементов по тексту
|
||||
for element in all_elements:
|
||||
span_element = element.find_element(By.TAG_NAME, 'span') # Ищем <span> внутри <li>
|
||||
if "Оперативная память" in span_element.text:
|
||||
ram_info_list.append(element.text) # Добавляем текст элемента в список
|
||||
# Цикл по каждому блоку ноутбука
|
||||
for laptop in laptop_blocks:
|
||||
specs = {}
|
||||
|
||||
# Вывод информации об оперативной памяти
|
||||
for ram_info in ram_info_list:
|
||||
print(f'Информация об оперативной памяти: {ram_info}')
|
||||
# Получение всех характеристик ноутбука
|
||||
spec_items = laptop.find_elements(By.CSS_SELECTOR, 'li.app-catalog-12y5psc.e4qu3682')
|
||||
|
||||
# Поиск и сохранение целевых характеристик
|
||||
for item in spec_items:
|
||||
label_elem = item.find_element(By.CSS_SELECTOR, 'span')
|
||||
label = label_elem.text.strip()
|
||||
value = item.text.replace(label, '').strip()
|
||||
|
||||
# Сохраняем только целевые характеристики
|
||||
if label in target_specs:
|
||||
specs[label] = value
|
||||
|
||||
# Добавляем характеристики ноутбука в общий список
|
||||
if specs:
|
||||
all_laptops_specs.append(specs)
|
||||
|
||||
# Вывод информации обо всех ноутбуках
|
||||
for i, specs in enumerate(all_laptops_specs, 1):
|
||||
print(f'Ноутбук {i}: {specs}')
|
||||
|
||||
except Exception as e:
|
||||
print(f'Ошибка: {e}')
|
||||
finally:
|
||||
# Закрытие драйвера
|
||||
driver.quit()
|
||||
|
Loading…
Reference in New Issue
Block a user