如何使用Selenium从Twitter帖子中获取喜欢的次数?

发布于 2025-01-18 03:07:52 字数 279 浏览 0 评论 0原文

我正在尝试找到一种方法来从任何给定的 Twitter 帖子中获取点赞计数器。

例如,这条推文: https://twitter.com/whale_alert/status/1508925640745140232

我已尝试使用该文本周围的每个元素,但没有成功。

我应该调用什么才能从推文中获取点赞计数器?

I'm trying to find a way to get the likes counter from any given Twitter post.

For example, this tweet: https://twitter.com/whale_alert/status/1508925640745140232

I have tried using every element around that text with no success.

What should I call on to get the like counter from tweets?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橘虞初梦 2025-01-25 03:07:52

带有喜欢的数量的元素将带有文本的元素为 likes

要提取喜欢的数量,您需要诱导 webdriverwait visibility_of_element_located() 您可以使用相对 定位器策略:


tl; dr

selenium 4-相对定位器

The element with number of likes is left to the element with text as Likes.

To extract the number of likes you need to induce WebDriverWait for the visibility_of_element_located() and you can use the relative Left of locator strategy:

  • Using XPATH and RelativeBy(object):

    driver = webdriver.Chrome(service=s, options=options)
    driver.get('https://twitter.com/whale_alert/status/1508925640745140232')
    likes = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//span[text()='Likes']")))
    likes_count = driver.find_element(locate_with(By.TAG_NAME, "span").to_left_of(likes))
    print(likes_count.text)
    
  • Console Output:

    87
    
  • Note : You have to add the following imports :

    from selenium.webdriver.support.relative_locator import locate_with
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

tl; dr

Selenium 4 - Relative Locators

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文