Kali Nethunter(arm64)启动Firefox WebDriver时遇NS_ERROR_ABORT错误
问题描述
- 操作系统:Kali Nethunter
- 架构:arm64
- 环境:Android设备上使用Firefox ESR + Python Selenium,已安装geckodriver v0.33
- 执行代码:
from selenium import webdriver from selenium.webdriver.firefox.service import Service service = Service(executable_path="/home/kali/geckodriver") options = webdriver.FirefoxOptions() driver = webdriver.Firefox(service=service, options=options)
- 报错信息:
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.11/dist-packages/selenium/webdriver/firefox/webdriver.py", line 69, in __init__ super().__init__(command_executor=executor, options=options) File "/usr/local/lib/python3.11/dist-packages/selenium/webdriver/remote/webdriver.py", line 209, in __init__ self.start_session(capabilities) File "/usr/local/lib/python3.11/dist-packages/selenium/webdriver/remote/webdriver.py", line 293, in start_session response = self.execute(Command.NEW_SESSION, caps)["value"] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/selenium/webdriver/remote/webdriver.py", line 348, in execute self.error_handler.check_response(response) File "/usr/local/lib/python3.11/dist-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.SessionNotCreatedException: Message: Error: NS_ERROR_ABORT Stacktrace: #checkLoadingState@chrome://remote/content/shared/Navigate.sys.mjs:246:28 onStateChange@chrome://remote/content/shared/Navigate.sys.mjs:295:28
排查与解决步骤
1. 确认版本兼容性
geckodriver、Firefox ESR、Selenium三者版本必须匹配:
- v0.33版本的geckodriver对应Firefox 115-117版本,检查你的Firefox ESR版本是否在此范围内
- 同时确认Selenium版本为4.x系列,确保与geckodriver v0.33适配
2. 指定Firefox二进制文件路径
Android的Kali Nethunter环境中,Firefox默认路径可能不被Selenium识别,需手动指定:
options.binary_location = "/path/to/firefox-esr"
可通过which firefox-esr命令获取正确路径。
3. 启用无头模式与权限参数
Android设备运行Kali Nethunter时通常无图形界面,添加以下参数避免启动异常:
options.add_argument("--headless") options.add_argument("--no-sandbox") options.add_argument("--disable-dev-shm-usage")
4. 检查geckodriver权限与架构
- 赋予geckodriver执行权限:
chmod +x /home/kali/geckodriver - 验证geckodriver为arm64架构:执行
file /home/kali/geckodriver,确认输出包含aarch64字段
5. 调整Firefox启动偏好
添加以下配置解决加载异常问题:
options.add_argument("--disable-gpu") options.set_preference("dom.disable_open_during_load", False) options.set_preference("browser.tabs.remote.autostart", False)
6. 单独测试geckodriver
直接执行/home/kali/geckodriver,若输出包含Listening on 127.0.0.1:4444,说明geckodriver本身可正常运行。
内容的提问来源于stack exchange,提问作者Afrhan Hossain
相关产品推荐
相关产品推荐

