nG丿炫 2025-11-13 13:27 采纳率: 33.3%
浏览 64

关于爬取淘宝商品数据 #Selenium#的问题,如何解决?(语言-python)

遇到问题的现象描述
在使用 Selenium 爬取网页时,始终无法定位到目标元素,先后出现 NoSuchElementException 和 TimeoutException 异常,即使尝试了调整 XPath,仍无法成功获取元素。

img

    def get_product():
        items = brower.find_element(By.XPATH, '//*[@class="tbpc-row tbpc-row-start"]/div')
        print(items)

运行后报错:
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
Symbols not available. Dumping unresolved backtrace:...

操作环境、软件版本等相关信息
操作系统:Windows
Python 版本:3.13
浏览器:Chrome 142.0.7444.135
浏览器驱动:ChromeDriver 匹配浏览器版本

还望各位好人帮帮忙,不胜感激

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-11-13 13:44
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解决方案

    根据你的描述,问题可能出在以下几个方面:

    1. 元素定位不准确:检查你的元素定位策略是否正确,是否需要调整 XPATH 或 CSS 选择器。
    2. 元素加载时间过长:尝试增加等待时间,等待元素加载完成后再进行操作。
    3. 元素不可见或不可交互:检查元素是否被遮挡或不可交互,尝试使用 driver.execute_script() 来交互元素。

    核心代码

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    # 等待元素加载完成
    element = WebDriverWait(driver, 10).until(
        EC.element_to_be_clickable((By.XPATH, "//元素XPATH"))
    )
    
    # 或者使用 CSS 选择器
    element = WebDriverWait(driver, 10).until(
        EC.element_to_be_clickable((By.CSS_SELECTOR, ".元素CSS选择器"))
    )
    

    建议

    1. 检查网页源码:使用浏览器的开发工具检查网页源码,了解元素的结构和属性。
    2. 尝试不同的定位策略:尝试使用不同的 XPATH 或 CSS 选择器来定位元素。
    3. 增加等待时间:增加等待时间,等待元素加载完成后再进行操作。
    4. 使用 driver.execute_script():尝试使用 driver.execute_script() 来交互元素。
    评论

报告相同问题?

问题事件

  • 创建了问题 11月13日