如何用Python Selenium从Microdata元标签提取dateCreated的content值
提取meta标签中dateCreated的content值(Selenium Python)
嘿,我来帮你搞定这个提取日期的需求!针对你给出的HTML结构,用Selenium有几种简单直接的方法可以拿到dateCreated对应的2018-08-28值,我给你详细说说:
方法一:CSS选择器定位
利用meta标签的itemprop属性作为定位条件,CSS选择器可以精准匹配到目标元素,然后通过get_attribute()方法获取content属性的值:
from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() driver.get("你的目标页面URL") # 定位目标meta标签并提取content值 date_created = driver.find_element(By.CSS_SELECTOR, "meta[itemprop='dateCreated']").get_attribute("content") print(date_created) # 输出结果:2018-08-28 driver.quit()
方法二:XPath定位
如果你更习惯用XPath,也可以通过属性匹配来定位元素,逻辑和CSS选择器一致:
from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() driver.get("你的目标页面URL") # 用XPath定位目标元素 date_created = driver.find_element(By.XPATH, "//meta[@itemprop='dateCreated']").get_attribute("content") print(date_created) driver.quit()
额外提示:处理页面加载延迟
如果页面加载速度较慢,直接定位可能会抛出元素未找到的异常,这时候可以添加显式等待,确保元素加载完成后再进行提取:
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Chrome() driver.get("你的目标页面URL") # 最多等待10秒,直到目标元素出现 date_created_element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.CSS_SELECTOR, "meta[itemprop='dateCreated']")) ) date_created = date_created_element.get_attribute("content") print(date_created) driver.quit()
内容的提问来源于stack exchange,提问作者Mr. Robot
相关产品推荐
相关产品推荐

