全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

如何正确处理 HTML 中包含换行与空格的 class 名称

html 元素的 class 属性值虽在开发者工具中显示为多行缩进格式,但实际是单行字符串,其中的换行和多余空格会被浏览器自动规范化为空格分隔符;因此该 class 值本质是多个独立 class 的组合(如 `"ll-sets-words__row false"`),而非一个含换行符的单一类名。

在 HTML 规范中,class 属性是一个以空格分隔的类名列表(whitespace-separated tokens),浏览器会自动将换行符、制表符、连续空格等所有空白字符统一视为单个分隔符。你从 DevTools 复制的如下内容:

            ll-sets-words__row
            false

实际等价于:

class="ll-sets-words__row false"

这意味着该元素同时拥有两个 class:ll-sets-words__row 和 false。而 Selenium 的 By.CLASS_NAME 仅支持匹配单个精确类名(不能含空格或多个类),因此传入带换行/空格的字符串(如 "\n ll-sets-words__row\n false\n")会导致 InvalidSelectorException 或查无结果。

✅ 正确做法是:使用 By.CSS_SELECTOR 并通过类选择器组合精准定位所有目标元素,而非强行依赖 By.CLASS_NAME。例如:

# ✅ 推荐:查找同时具有两个 class 的所有元素(顺序无关)
words = entire_dict.find_elements(By.CSS_SELECTOR, ".ll-sets-words__row.false")

# ✅ 或更灵活:查找拥有至少其中一个 class 的元素(若语义允许)
words = entire_dict.find_elements(By.CSS_SELECTOR, ".ll-sets-words__row, .false")

# ✅ 或最稳妥:结合父容器 + class 组合,避免误匹配
words = browser.find_elements(By.CSS_SELECTOR, "table.ll-page-vocabulary__sets-words__table .ll-sets-words__row.false")

⚠️ 注意事项:

  • By.CLASS_NAME("ll-sets-words__row false") 是非法用法,Selenium 会直接报错;
  • BeautifulSoup.find_all(class_="...") 同样只接受单个类名或 list[str](如 class_=["ll-sets-words__row", "false"]),但需注意:class_=["A","B"] 表示「同时包含 A 和 B」,与 CSS 中 .A.B 等价;
  • 若需动态提取 class 列表,可用 element.get_attribute("class") 获取原始字符串,再用 .split() 清洗(自动去除首尾空格及中间多余空白):
    raw_class = element.get_attribute("class")  # 返回 "ll-sets-words__row false"
    classes = raw_class.split()  # → ['ll-sets-words__row', 'false']

? 总结:不要被 DevTools 的格式误导——HTML class 永远是空格分隔的扁平列表。优先使用 By.CSS_SELECTOR 实现多类联合匹配,它语义清晰、性能优异,且天然支持 .class1.class2(AND 关系)或 .class1, .class2(OR 关系)等灵活写法,完全满足“查找所有具备指定类组合的元素”的需求。


# css  # word  # html  # 浏览器  # 工具  # beautifulsoup  # 字符串  # class  # 选择器  # 多个  # 而非  # 换行  # 是一个  # 分隔符  # 换行符  # 其中一个  # 再用  # 报错  # 需注意 


相关文章: 建站主机是否等同于虚拟主机?  如何选择高效稳定的ISP建站解决方案?  如何通过cPanel快速搭建网站?  如何用美橙互联一键搭建多站合一网站?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  宝塔建站后网页无法访问如何解决?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  大连网站设计制作招聘信息,大连投诉网站有哪些?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  北京网站制作网页,网站升级改版需要多久?  公司网站设计制作厂家,怎么创建自己的一个网站?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  ,在苏州找工作,上哪个网站比较好?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  定制建站价位费用解析与套餐推荐全攻略  建站为何优先选择香港服务器?  如何在橙子建站上传落地页?操作指南详解  高防服务器如何保障网站安全无虞?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  ppt制作免费网站有哪些,ppt模板免费下载网站?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  威客平台建站流程解析:高效搭建教程与设计优化方案  网站制作公司,橙子建站是合法的吗?  南平网站制作公司,2025年南平市事业单位报名时间?  建站之星安装路径如何正确选择及配置?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  如何在万网ECS上快速搭建专属网站?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  如何高效利用亚马逊云主机搭建企业网站?  寿县云建站:智能SEO优化与多行业模板快速上线指南  网站设计制作公司地址,网站建设比较好的公司都有哪些?  文字头像制作网站推荐软件,醒图能自动配文字吗?  实现虚拟支付需哪些建站技术支撑?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  建站之星CMS五站合一模板配置与SEO优化指南  成都网站制作报价公司,成都工业用气开户费用?  建站三合一如何选?哪家性价比更高?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  如何零基础开发自助建站系统?完整教程解析  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  制作网站的基本流程,设计网站的软件是什么? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。