【问题标题】:Why is Xpath printed instead of the text inside the element?为什么打印 Xpath 而不是元素内的文本?
【发布时间】:2018-09-01 09:05:58
【问题描述】:

我正在尝试从以下网址获取昨天足球比赛的比赛统计数据:

https://www.flashscore.com/match/8S0QVm38/#match-statistics;0

我已经编写了代码,只是为了让 Webdriver 选择我想要的统计数据并为我打印它们,这样我就可以看到我想要使用什么。我的代码是:

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

browser = webdriver.Firefox()
browser.get("https://www.flashscore.com/match/8S0QVm38/#match-statistics;0")
print(browser.find_elements_by_class_name("statText--homeValue"))

打印出一个元素列表,老实说,我不知道这是否是我正在寻找的,因为返回的内容没有显示任何可以识别我在开发人员工具中查看的内容.

我正在尝试获取统计数据下的所有数字,例如 Possession 和射门次数,但 print 返回一个这样的 xpath 列表,其中会话相同但元素始终不同:

[<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="da88ca87-e318-934e-ba75-dca1d652cd37", element="c53f5f3e-2c89-b34c-a639-ab50fbbf0c33")>, 
<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="da88ca87-e318-934e-ba75-dca1d652cd37", element="3e422b45-e26d-de44-8994-5f9788462ec4")>, 
<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="da88ca87-e318-934e-ba75-dca1d652cd37", element="9e110a54-4ecb-fb4b-9d8f-ccd1b210409d")>, <

任何人都知道这是为什么以及我可以做些什么来获得实际数字?

【问题讨论】:

    标签: ajax python-3.x selenium-webdriver web-scraping


    【解决方案1】:

    您得到的不是 XPath,而是 WebElement 对象的列表。从每次尝试中获取文本

    print([node.text for node in browser.find_elements_by_class_name("statText--homeValue")])
    

    【讨论】:

      【解决方案2】:

      您打印了生成器而不是实际内容。为此,您必须为每个元素使用.text。喜欢,

      elements = browser.find_elements_by_class_name("statText--homeValue")
      for element in elements:
          print(element.text)
      

      您也可以选择Andersson's answer中显示的列表综合方法。

      希望这会有所帮助!干杯!

      【讨论】:

      • 感谢您的回答,非常感谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-17
      • 1970-01-01
      • 1970-01-01
      • 2017-08-29
      相关资源
      最近更新 更多