Может кто-нибудь показать мне, как извлечь только текст в красном квадрате? Я возился с python и безуспешно пытался его извлечь. Я пишу скрипт, который просит вас ввести адрес, затем запускает Firefox (или Chrome), переходит на веб-сайт Google и ищет время в пути и расстояние от адреса, уже сохраненного в скрипте Python. Мне просто нужно, чтобы текст в красном квадрате отображался как обычный текст на экране команд.
Любая помощь будет принята с благодарностью, пока что я пробовал ниже, я просто не знаю, как получить доступ к элементу.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
import time
print("Please type in address")
address = input()
driver = webdriver.Firefox()
url = r"https://www.google.com"
driver.get(url)
ara = driver.find_element_by_name("q")
ara.send_keys("Navigate to "+ address + " "+"from terror st keilor park" + Keys.RETURN)
x = driver.get_element_by_xpath("//div[@id='exp0']/div[1]/div/div[@class='BbbuR uc9Qxb uE1RRc']")
print(x.text)
Я новичок на сайте и, как уже говорилось, пытаюсь изучить python. Я прошу прощения за то, что не предоставил много информации или кода. Я отредактировал сообщение, которое теперь включает полный код, который я пытался,






Изучите использование API карт Google, чтобы напрямую извлекать данные из Google в Python без необходимости открывать браузер, делать изображение, а затем обрабатывать это изображение для чтения текста и, и, и...
Или, это не рекомендуется, но может сработать, отправьте запрос через код Python, чтобы получить веб-страницу и проанализировать ответ.
Google «примеры запросов python», чтобы узнать, как делать веб-запросы в коде python.
Затем погуглите «python parse html» и научитесь анализировать веб-страницы с помощью кода, чтобы извлечь нужную информацию.
Есть множество способов получить нужную информацию, но самым простым из них будет использование оптического распознавания символов на изображении. Но, если вы твердо настроены на это, погуглите «оптическое распознавание символов python».
Надеюсь, это поможет :)
Я рассмотрю ваши предложения. Я заглянул в API карт Google, но, поскольку мне нужно, чтобы время и расстояние в пути отображались, мне пришлось использовать API-интерфейс Directions, который после некоторых поисков требует, чтобы вы начали платить. Я написал сценарий, в котором вы вводите адрес и ищете время в пути из 4 разных мест одновременно, поэтому это сказывается на «бонусном кредите», который дает вам Google (если я что-то не упустил). Вся идея состоит в том, чтобы получить путешествие время и расстояние от 4 разных мест, которые я добавлю в сценарий, чтобы можно было сравнить.
Используйте WebDriverWait и подождите, пока элемент станет element_to_be_clickable, и используйте следующий xpath.
element=WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,'//div[@data-rre-id = "exp0"]')))
print(element.text)
Чтобы выполнить приведенный выше код, вам необходимо импортировать следующее.
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
Это не служба бесплатного кода. Пожалуйста, покажите, что вы пробовали, что получилось по сравнению с ожиданиями, и мы можем помочь.