【发布时间】:2022-01-24 15:05:20
【问题描述】:
我的目标是通过解析其检查数据来获得谷歌搜索结果的标题,如下所示:
我试图找到它所附加的标签并使用 find_element(By.XPATH) 搜索它,但这似乎不起作用。
Inspect location of wanted data
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import time
web = "https://www.google.com/search?q=crash"
path = "C:\\Users\\simon\\Downloads\\chromedriver_win32\\chromedriver.exe"
driver = webdriver.Chrome(path)
driver.get(web)
html = driver.page_source
elem = driver.find_element(By.XPATH, "//div[contains(@class,'yuRUbf')]")
print(elem)
但只是得到这个输出:
<selenium.webdriver.remote.webelement.WebElement (session="29b69f91490fc177d1833f2fc156ec01", element="0289ff09-6e3d-4373-ab09-b265cc3b1206")>
这没什么用。如果我转到下一个嵌套类,我会收到此错误:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[contains(@class,'LC201b MBeuO DKV0Md')]"}
这是因为我正在解析页面源而不是检查数据吗?
【问题讨论】:
-
你能分享你所有的代码吗?
driver.find_element将尝试查找特定元素,而不是整个页面的 HTML 代码 -
刚刚编辑了最初的帖子:)
标签: python selenium web-scraping