【问题标题】:Web scraping Tennis24 in play stats网络抓取 Tennis24 的比赛统计数据
【发布时间】:2020-09-09 21:49:06
【问题描述】:

我一直在努力研究如何在 Tennis 24“https://www.tennis24.com/match/4xFaW6fP/#match-statistics;0”这样的页面上抓取实时和更新统计数据,但是当我尝试使用 selenium 没有返回任何内容。即使我只是尝试返回 1 元素,例如

<div class="statText statText--awayValue">4</div>

由于这是我的第一个抓取项目,有人可以给我一些指导吗?

【问题讨论】:

  • 如果您以文本模式将代码添加到帖子中,我会更容易

标签: python selenium xpath screen-scraping webdriverwait


【解决方案1】:

要打印文本4你需要诱导WebDriverWaitvisibility_of_element_located(),你可以使用以下Locator Strategies之一:

  • 使用XPATHtext属性:

    driver.get('https://www.tennis24.com/match/4xFaW6fP/#match-statistics;0')
    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='statText statText--titleValue' and text()='Aces']//following::div"))).text)
    
  • 使用XPATHget_attribute('innerHTML')

    driver.get('https://www.tennis24.com/match/4xFaW6fP/#match-statistics;0')
    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='statText statText--titleValue' and text()='Aces']//following::div"))).get_attribute('innerHTML'))
    
  • 注意:您必须添加以下导入:

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

【讨论】:

  • 非常感谢您的快速回复,我今天会尝试一下,让您知道进展如何。
  • 那太好了,非常感谢,那么我将如何获取该表中的所有值是获取所有元素的情况吗?
  • @BlindBlake 这听起来是一个不同的要求。请您对您的新要求提出一个新问题吗?
  • 我尝试通过将“following::div”更改为 Before::div) 来获取玩家 A 的数字,但它不起作用。我在这里完全不合时宜吗?
  • @BlindBlake 欢迎访问Selenium Chat Room 并帮助其他用户。
猜你喜欢
  • 2021-05-07
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-15
  • 2018-03-25
  • 2020-08-02
  • 1970-01-01
相关资源
最近更新 更多