python - WebDriverException : Message: invalid argument: can't kill an exited process with GeckoDriver, RaspberryPi3 上的 Selenium 和 Python

标签 python selenium firefox raspberry-pi3 geckodriver

服务器:Raspberry Pi 3
操作系统:Dietpi - 版本 159
Geckodriver 版本:arm 0.22
火狐版本:52.9.0
Python版本:3.5
Selenium 版本:3.14.1

Gecko 是可执行的,位于/usr/local/bin/

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
from selenium.webdriver.firefox.options import Options
import time



options = Options()
options.set_headless(headless=True)
driver = webdriver.Firefox(firefox_options=options)

print('Need your login credential')
username = input('What is your username?:\n')
password = input('What is your password?:\n')
...
...

输出:

root@RPi3:~# python3.5 ITE-bot.py 
Traceback (most recent call last):
  File "ITE-bot.py", line 12, in <module>
    driver = webdriver.Firefox(firefox_options=options)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
    keep_alive=True)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process

知道出了什么问题吗?我尝试过谷歌但没有成功。

最佳答案

如果您在没有显示屏的系统上运行 Firefox,请确保使用 headless 模式。

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.headless = True
driver = webdriver.Firefox(options=options)

此外,请确保您拥有 Firefox、Selenium 和 Geckodriver 的兼容版本: https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html

关于python - WebDriverException : Message: invalid argument: can't kill an exited process with GeckoDriver, RaspberryPi3 上的 Selenium 和 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59165263/

相关文章:

firefox - React 控制的组件在 Firefox 中不会自动完成

Firefox v41 的 getUserMedia 问题在 Chrome 或 Firefox v36 中看不到

python - 仅缩放数据框中包含字符串的数值

python - 用一个按键暂停无限循环

c# - 警报处理 - Selenium WebDriver/Selenium RC 2.18.0 - 异常

python - 错误 :gpu_process_transport_factory. cc(1007) - 丢失 UI 共享上下文:在 Headless 模式下通过 ChromeDriver 初始化 Chrome 浏览器时

python - 如何获取网页中的特定框架并检索其内容

python - 使用 django.contrib.gis.measure.D 时出现 GeoDjango dwithin 错误

python - 在 NumPy 数组的可变位置插入新轴

javascript - 重新打包和/或修改现有的 Firefox 扩展 XPI