python - 如何使用 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()
解决方案
我猜你想要做的是提取文本而不是数字,试试这个:
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()
推荐阅读
- batch-file - 循环通过批处理文件中的逗号分隔字符串
- apache-flink - 如何通过 flink 中同一插槽上的某个键聚合日期,以便我可以节省网络调用
- java - 将数组的所有索引添加到一个数组
- reactjs - 带有 React 和 Firebase 登录弹出问题的 Electron
- python - 张量流中的 4X + 2 = 0
- microsoft-graph-api - 如何验证域以便可以将架构扩展添加到 ms 图中?
- java - 以 root 身份执行 Shell 命令
- mongodb - 查找具有仅包含特定值而没有其他内容的数组字段的文档
- python - 在 python 中使用 Solve 求解方程时的值差异
- azure - java.lang.IllegalStateException: 无法配置 KeyVault 属性源,原因是 Failed to do authentication