提问者:小点点

Selenium python google address侧边栏结果


我是selenium的新手,我想刮一下侧边栏上的谷歌地址搜索结果。

我知道如何使用selenium搜索与谷歌和登陆在下面的页面,但我想要的是提取地址在突出显示的部分。

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)

共1个答案

匿名用户

似乎如果你试图搜索

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住宅,Jalan Klang Lama,Taman Seputeh,58100 Kuala Lumpur,Wilayah Persekutuan Kuala Lumpur,Malaysia