Selenium python результат боковой панели адреса google - PullRequest
0 голосов
/ 21 июня 2020
• 1000 хотите - извлечь адрес в выделенном разделе.

введите описание изображения здесь

Я пытаюсь использовать inspect, чтобы получить элемент этого раздела, но я новичок в html. Ниже прикрепите мой код для распечатки основного раздела результатов. Я только уверен, что этот раздел попадает в основной раздел.
driver.get('http://www.google.com')
search = driver.find_element_by_name('q')
search.send_keys("saville residence")
search.send_keys(Keys.RETURN)
main = driver.find_element_by_id('main')
print(main.text)

Ответы [ 2 ]

0 голосов
/ 21 июня 2020

Я нашел альтернативное решение, используя элементы html: 1. 'Ctrl + Shift + C' или щелкните красный кружок значка 2. Щелкните целевой раздел на веб-странице.

Если мы расширим этот раздел элементами html, мы сможем увидеть адрес под class = 'LrzXr' .

введите описание изображения здесь

Итак, в коде мы можем найти элемент по его имени класса, как показано ниже:

driver.get('http://www.google.com')
search = driver.find_element_by_name('q')
search.send_keys("saville residence")
search.send_keys(Keys.RETURN)
main = driver.find_element(By.CLASS_NAME, 'LrzXr')
print(main.text)
0 голосов
/ 21 июня 2020

Кажется, что если вы попытаетесь найти

main = driver.find_element_by_id('main')

, ваш код вернет все, что написано на странице. Мне лично нравится находить элементы по их xpath. Хотя такой подход определенно сделает ваш код менее привлекательным, он определенно сделает его и более надежным.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options

driver = webdriver.Chrome("/Users/Povilas/Documents/GitHub/chromedriver")
driver.get('http://www.google.com')
search = driver.find_element_by_name('q')
search.send_keys("saville residence")
search.send_keys(Keys.RETURN)
main = driver.find_element_by_xpath('/html/body/div[6]/div[2]/div[9]/div[1]/div[3]/div/div[1]/div/div[1]/div/div[3]/div/div[2]/div/div/span[2]')
print(main.text)

После запуска этого кода мой результат был: Saville Residence, Jalan Klang Lama, Taman Seputeh, 58100 Kuala Lumpur, Wilayah Persekutuan Куала-Лумпур, Малайзия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...