我正在努力学习如何使用 selenium 来抓取网络,并且一直在看由Tech With Tim制作的YouTube系列剧。我无法使用Selify将我的信息输出显示为文本,只能显示为Html代码。
我试过这个
driver.get("https://www.techwithtim.net/")
search = driver.find_element("name","s")
search.send_keys("test")
search.send_keys(Keys.RETURN)
try:
main = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "main"))
)
articles = main.find_elements(By.TAG_NAME, "article")
for article in articles:
header = article.find_elements(By.CLASS_NAME, "entry-summary")
print(header.text)
finally:
driver.quit()
我原本希望输出的是类名条目摘要下的所有文本,但我得到的却是错误:
AttributeError Traceback (most recent call last)
Cell In [70], line 19
17 articles = main.find_elements(By.TAG_NAME, "article")
18 for article in articles:
---> 19 header = article.find_elements(By.CLASS_NAME, "posted-on").text
20 print(header)
24 finally:
AttributeError: 'list' object has no attribute 'text'
我知道.text与将HTML转换为文本有关,但我一直无法解决这个问题。任何帮助都将不胜感激。
1条答案
按热度按时间roejwanj1#
您可能需要在那里使用
find_element
,而不是find_elements
。具体如下: