如您所知,最近 Facebook 正在使用 svg 标签来加载发布帖子的数据和时间。 我想检索某些特定帖子的价值。挑战是首先悬停并等待日期/时间的内容出现,现在如何从 svg 标签获取它。下面提供了 html 代码:
<span>
<span aria-labelledby=":rfq:" class="x1rg5ohu x6ikm8r x10wlt62 x16dsc37 xt0b8zv"><alfohmkfc-ngwhlbrgw><alfohmkfc-ngwhlbrgw><alfohmkfc-ngwhlbrgw><alfohmkfc-ngwhlbrgw>**<svg style="height: 16px; overflow: visible; width: 86.6855px;"><use xlink:href="#SvgT15" xmlns:xlink="http://www.w3.org/1999/xlink"></use></svg>**</alfohmkfc-ngwhlbrgw></alfohmkfc-ngwhlbrgw></alfohmkfc-ngwhlbrgw></alfohmkfc-ngwhlbrgw></span></span>
现在如何使用svg标签来获取内容?
要使用 Selenium 和 Python 检索已发布的 Facebook 帖子中的日期/时间值,您可以按照以下步骤操作:
将鼠标悬停在元素上以使日期/时间信息可见。 找到包含日期/时间信息的 SVG 元素。 从 SVG 元素中提取文本内容。 这是使用 Selenium 的 Python 代码示例:
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# Initialize the webdriver (you may need to adjust the path to your WebDriver)
driver = webdriver.Chrome('/path/to/chromedriver')
# Open the Facebook post URL
post_url = 'https://www.facebook.com/your_post_url'
driver.get(post_url)
# Find the element that needs to be hovered over
hover_element = driver.find_element(By.XPATH, 'your_xpath_to_hover_element')
# Hover over the element
ActionChains(driver).move_to_element(hover_element).perform()
# Wait for the SVG element to be visible
svg_xpath = 'your_xpath_to_svg_element'
wait = WebDriverWait(driver, 10)
svg_element = wait.until(EC.visibility_of_element_located((By.XPATH, svg_xpath)))
# Extract the text content from the SVG element
date_time_text = svg_element.text
# Print the retrieved date/time
print(f"Date/Time of the post: {date_time_text}")
# Close the browser
driver.quit()