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

Python使用Selenium时出现NameError: name 'By' is not defined报错如何解决

问题原因
  • By类导入语句语法错误:selenium.webdriver.common是父级包,By类实际存储在子模块selenium.webdriver.common.by下,你编写的from selenium.webdriver.common import By无法正确定位到目标类,因此触发NameError: name 'By' is not defined报错。
  • from: can't read /var/mail/selenium.webdriver.common是类Unix系统的Shell报错:该报错说明你要么直接在Shell终端中输入了Python代码执行,要么是直接通过./xxx.py的方式执行Python脚本时,脚本没有添加正确的Shebang声明,系统默认将脚本识别为Shell脚本解析,把Python的from关键字识别为了Shell中读取邮件的from命令。
解决方法
  • 修正By类的导入语句,将原导入代码替换为正确写法:
from selenium.webdriver.common.by import By
  • 修正脚本执行逻辑:
    • 如果是直接在Shell终端输入Python代码导致的报错,先执行python3进入Python交互式环境后再运行代码即可
    • 如果是执行脚本触发的报错,可选择两种方案解决:
      1. 在Python脚本的第一行添加Shebang声明#!/usr/bin/env python3,执行chmod +x compress_pic.py给脚本添加执行权限后再运行
      2. 直接通过Python命令调用脚本执行:python3 compress_pic.py

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:45:07