如何使用 selenium 查找 svg 元素并检索已发布的 Facebook 帖子中的日期/时间值?

问题描述 投票:0回答:1

如您所知,最近 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标签来获取内容?

facebook selenium-webdriver svg tags screen-scraping
1个回答
0
投票

要使用 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()
© www.soinside.com 2019 - 2024. All rights reserved.