【发布时间】:2021-06-04 21:40:13
【问题描述】:
我正在尝试从this website 中抓取某些文本。
问题:我无法获取与h1 或a 标记(在图片中突出显示)相关联的特定文本:“HTTP 方法--Get & POST”。但我可以访问class="entry-summary" 并获取它的文本。当我访问标签时,我得到的只是空字符串。为什么?
相关代码
main = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "main"))
)
#print(main.text)
articles = main.find_elements_by_tag_name("article")
header.append(articles[0].find_element_by_tag_name("a").text)
最低工作代码
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from random import randint
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = "https://www.techwithtim.net/?s=test"
## Driver setup and access title
path = "../dater/driver/chromedriver"
driver = webdriver.Chrome(path)
driver.get(url)
## Extract main from the new page and then headers
main = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "main"))
)
#print(main.text)
articles = main.find_elements_by_tag_name("article")
header.append(articles[0].find_element_by_tag_name("a").text)
print(header)
【问题讨论】:
-
[这个][stackoverflow.com/a/64340305/5986651] 类似。建议使用:
header.append(article.find_element_by_tag_name("a").get_attribute("textContent"))而不是header.append(articles[0].find_element_by_tag_name("a").text)。但我不明白为什么 selenium 不能通过.text得到这个
标签: python selenium selenium-webdriver web-scraping