Python поиск по элементам

Рейтинг: 0Ответов: 0Опубликовано: 23.07.2023

Почему выдает один элемент, если есть цикл ? И как получить текст по всем элементам ?

import requests_html
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium_stealth import stealth
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import xlsxwriter
import re
from parsel import selector
from lxml import html
import time
from scrapy.selector import Selector
from scrapy.http import HtmlResponse

headers = {
'user-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 OPR/95.0.0.0 (Edition Yx 02)'

}
url = 'https://market.yandex.ru/catalog--smartfony/26893750/list?was_redir=1&rt=12&rs=eJwzEg1gnMUocLHxwp4LGy42XGy62HJh34W9AHqDDLY%2C&suggest=1&suggest_type=search&suggest_text=%D0%A1%D0%BC%D0%B0%D1%80%D1%82%D1%84%D0%BE%D0%BD%D1%8B&hid=91491&allowCollapsing=1&local-offers-first=0'

page = requests.get('https://market.yandex.ru/catalog--smartfony/26893750/list?hid=91491&suggest=1&suggest_text=Смартфоны&suggest_type=search&was_redir=1&rs=eJwzEg1gnMUocLHxwp4LGy42XGy62HJh34W9AHqDDLY,&rt=12&cpa=1')

chrome_options = Options()
chrome_options.add_experimental_option("detach", True)
options = webdriver.ChromeOptions()
options.add_argument("argument")

options.binary_location = 'C:\Chrone\chrome.exe'

service = ChromeService(executable_path=ChromeDriverManager(version='102.0.5005.61').install())

browser = webdriver.Chrome(options=options, service=service)

browser.get(url)  # Открываем страницу

browser.execute_script('window.scrollTo(0, document.body.scrollHeight);')
time.sleep(5)
html = browser.page_source
soup = BeautifulSoup(html, 'html.parser')

models = soup.find_all('div', class_='_1GfBD')
models_1 = soup.find_all('span', class_='_1E10J._2o124._1zh3_')
prices = soup.find_all('div', class_='_1He5n _1cQ6F')
goods = browser.find_elements(By.CLASS_NAME, '_3KhA2 _1Txgh')
span = soup.find_all('span', class_='price-value')
span_s = soup.find_all('h3', class_='_1He5n _36SPc _2kgEE _1KE2k _1cQ6F')

product_name1 = browser.find_elements(By.XPATH,'/html/body/main/div/div[2]/div/div[1]/div[5]/div/div/div/div/div/div/div[4]/div/div/div/div/main/div/div/div/div/div/div/div[2]/div/div/div[1]')
print(product_name1)


for i in product_name1:
    product_name2 = i.find_elements(By.CLASS_NAME, "_1E10J._2o124._1zh3_")
    print(product_name2)   

Ответы

Ответов пока нет.