You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Selenium Webdriver如何只提取表格中到C. Kelly为止的名字

问题根因
  • 核心错误是你直接将Selenium获取的WebElement元素对象和字符串做相等判断,二者类型完全不同,判断条件永远不成立,break语句始终无法触发,所以会输出所有名字
  • 匹配的人名大小写错误,目标人名是C. Kelly,你的判断条件写的是C. kelly,首字母小写会导致匹配失败
  • 执行顺序错误:你先做匹配判断,再取出元素的文本内容,逻辑顺序颠倒,就算类型匹配也无法正常判断
修复后的代码(最小改动版本)
from selenium import webdriver
import time
driver = webdriver.Chrome(executable_path="C:/chromedriver")

driver.get("https://www.seleniumeasy.com/test/")
driver.maximize_window()
time.sleep(5)
driver.find_element_by_xpath("//a[text()='No, thanks!']").click()
driver.find_element_by_xpath("//a[contains(text(),'Table')]").click()
driver.find_element_by_xpath("//a[contains(text(),'Table Sort & Search')]").click()
time.sleep(10)
FullName = driver.find_elements_by_xpath("//td[@class='sorting_1']")

for Names in FullName:
    # 先取出元素文本再做判断
    current_name = Names.text.strip()
    if current_name == "C. Kelly":
        break
    print(current_name)
优化建议(可选)
  • 强制等待time.sleep()稳定性差,可替换为Selenium的显式等待WebDriverWait,根据元素加载状态判断等待时间,避免等待时间不足或浪费
  • 匹配人名时可统一转为大小写后再判断,避免因为网页内容大小写波动导致匹配失败,比如if current_name.lower() == "c. kelly":

内容的提问来源于stack exchange,提问作者Anshul Thakur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 09:15:03