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

Selenium打印页面元素异常及USB报错问题求助

问题解决方案

一、解决输出WebElement对象而非产品名称的问题

你通过find_elements获取的all_titles是WebElement实例的列表,直接打印会输出对象本身,需要提取元素的文本内容:

  1. 直接提取元素文本
    如果product-info类元素本身包含产品名称文本,遍历列表并调用text属性:
from selenium.webdriver.common.by import By

# 获取元素列表
all_titles = driver.find_elements(By.CLASS_NAME, 'product-info')
# 提取文本内容
product_names = [title.text.strip() for title in all_titles]
# 打印产品名称
print(product_names)
  1. 定位子元素提取文本
    如果产品名称在product-info的子标签内(比如<h3>或<a>),需要先定位到子元素再取文本:
product_names = []
for item in all_titles:
    # 根据实际页面结构调整子元素定位方式
    name_element = item.find_element(By.TAG_NAME, 'h3')
    product_names.append(name_element.text.strip())
print(product_names)

二、解决USB设备读取描述符错误

这个错误大多和ChromeDriver与浏览器版本不匹配、系统USB设备干扰有关,可按以下步骤解决:

  • 匹配ChromeDriver与浏览器版本
    打开Chrome浏览器,在设置→关于Chrome中查看版本号,下载完全对应版本的ChromeDriver,替换当前使用的驱动文件。

  • 禁用Chrome的USB设备检测
    启动Chrome时添加命令行参数,跳过USB设备扫描:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# 禁用USB设备发现
chrome_options.add_argument('--disable-usb-discovery')
# 禁用/dev/shm使用,避免部分环境下的资源问题
chrome_options.add_argument('--disable-dev-shm-usage')
# 启动浏览器
driver = webdriver.Chrome(options=chrome_options)
  • 移除干扰的USB设备
    暂时拔掉电脑上不必要的外接USB设备(如U盘、摄像头、外接键盘等),减少系统USB设备扫描的干扰。

内容的提问来源于stack exchange,提问作者ROK-Nweltal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:57:14