Не уверен, что здесь я совершаю глупую ошибку, я искал повсюду, но не могу понять это.Буду очень признателен за помощь.
Я пытаюсь сделать скребок для очистки данных Google Map Pack.Я использую Splinter для этого.Мне удалось выбрать элемент div для каждого элемента пакета карты, но затем я хочу пройтись по нему и выбрать заголовок (и другие элементы) для каждого из элементов div.
Однако, когда я пытаюсь это сделать, онвсегда выбирает заголовок первого элемента, несмотря на то, что я запускаю find_by_xpath для отдельного элемента.
Вот мой код:
from splinter import Browser
from selenium import webdriver
import time
chrome_options = webdriver.ChromeOptions()
browser = Browser('chrome', options=chrome_options)
browser.visit("https://google.com")
browser.fill('q', 'roofing laredo tx')
# Find and click the 'search' button
time.sleep(5)
button = browser.find_by_name('btnK')
# Interact with elements
button.click()
time.sleep(5)
maps_elements = browser.find_by_xpath("//div[contains(@class,'VkpGBb')]")
for map_element in maps_elements:
# print(map_element.text)
title = map_element.find_by_xpath("//div[contains(@class,'dbg0pd')]/span").text
print(title)
Итак, что я хочу: JJ Flores Roofing & ConstructionHBC Roofing McAllen Valley Roofing Co
но вместо этого я получаю
JJ Flores Кровля и строительство JJ Flores Кровля и строительство JJ Flores Кровля и строительство