首页 > 解决方案 > 如何使用 css_selector 分别获得相同的类名?

问题描述

我正在使用以下代码从http://www.bddk.org.tr/BultenHaftalik获取数据。两个表元素具有相同的类名。我怎样才能得到其中之一?

from selenium import webdriver
import time

driver_path = "C:\\Users\\Bacanli\\Desktop\\chromedriver.exe"
browser = webdriver.Chrome(driver_path)
browser.get("http://www.bddk.org.tr/BultenHaftalik")
time.sleep(3)

Krediler = browser.find_element_by_xpath("//*[@id='tabloListesiItem-253']/span")
Krediler.click()

elements = browser.find_elements_by_css_selector("td.ortala")

for element in elements:
    print(element.text)

browser.close()

标签: pythonseleniumcss-selectors

解决方案


我猜你想要做的是提取文本而不是数字,试试这个:

elements = []
for i in range(1,21):
    css_selector = f'#Tablo > tbody:nth-child(2) > tr:nth-child({i}) > td:nth-child(2)'
    element=browser.find_element_by_css_selector(css_selector)
    elements.append(element)
for element in elements:
    print(element.text)

browser.close()

推荐阅读