【问题标题】:How to find specific span from th class using selenium如何使用 selenium 从类中查找特定跨度
【发布时间】:2022-02-08 06:03:27
【问题描述】:

我只想从第一个类中选择一个 html span 元素在终端上打印。我尝试在跨度结束时使用 [1],但没有成功。

我已经用硒尝试过这个:

for element in driver.find_elements(By.XPATH, '//div/table/thead/tr/th/span[1]'):
    print(element.text)

html 如下:

<thead><tr class="C($tertiaryColor) Fz(xs) Ta(end)"><th class="Ta(start) W(100px) Fw(400) Py(6px)"><span>Date</span></th><th class="Fw(400) Py(6px)"><span>Open</span></th><th class="Fw(400) Py(6px)"><span>High</span></th><th class="Fw(400) Py(6px)"><span>Low</span></th><th class="Fw(400) Py(6px)"><span>Close*</span></th><th class="Fw(400) Py(6px)"><span>Adj Close**</span></th><th class="Fw(400) Py(6px)"><span>Volume</span></th></tr></thead>

需要更多信息,请发表评论。

【问题讨论】:

  • 当你打印出 driver.find_elements(By.XPATH, '//div/table/thead/tr/th/span[1]') 你得到任何结果吗?你能给我们跨度所在的站点吗?更好地协助?
  • 您的问题缺少基本的调试细节。我们需要查看指向该页面的链接或其整个 XML 以便在此处提供帮助

标签: python selenium xpath css-selectors webdriver


【解决方案1】:

SPANTH 的后代。类似地,THTR 的后代。所以你可以使用以下任一Locator Strategies

  • xpath

    for element in driver.find_elements(By.XPATH, '//thead/tr//th/span'):
            print(element.text)
    
  • css 选择器

    for element in driver.find_elements(By.XPATH, 'thead > tr th > span'):
            print(element.text)
    

更新

要识别第一个<span>,您可以使用以下任一Locator Strategies

  • xpath

    print(driver.find_element(By.CSS_SELECTOR, "thead > tr th:nth-child(1) > span").text)
    
  • css 选择器

    print(driver.find_element(By.XPATH, "//thead/tr//following::th[1]/span").text)
    

【讨论】:

  • 第课有6个span,我只需要选择一个span,不能用文字。我将解析另一个“类”中的数字,这些数字每天都在变化。
  • 您在寻找哪个具体的<span>
  • 第一个<span>
  • @Rodrigo 查看更新的答案并告诉我状态。
  • 我收到了这个错误:for element in driver.find_elements(By.XPATH, "//thead/tr//following::th[1]/span").text: AttributeError: 'list' object has no attribute 'text' 然后,我更改为for element in driver.find_elements(By.XPATH, "//thead/tr//following::th[1]/span"): print(element.text),仍然打印所有跨度,现在没有“日期”跨度:开盘高低收盘* 调整收盘** 成交量
猜你喜欢
  • 2019-03-23
  • 2016-11-26
  • 2021-05-03
  • 1970-01-01
  • 2012-12-20
  • 2021-06-01
  • 2021-02-11
  • 1970-01-01
  • 2020-03-07
相关资源
最近更新 更多