如何使用 selenium 从 th class 中找到特定的跨度

How to find specific span from th class using selenium

我只想从第 class 个 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>

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

SPANTH 的后代。同样,THTR 的后代。所以你可以使用以下任一种 :

  • xpath:

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

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

更新

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

  • xpath:

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

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