服务器:覆盆子皮3
操作系统:Dietpi-159版
壁虎版本:手臂0.22
火狐版本:52.9.0
Python版本:3.5
硒版本: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

知道怎么了吗?我试过谷歌,但运气不好。

最佳答案

此错误消息。。。

selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process

…意味着GeckoDriver无法启动/生成新的WebBrowsing会话,即Firefox浏览器会话。
您的主要问题是使用的二进制文件版本之间不兼容,如下所示:
你的GeckoDriver版本是0.22.0。
《壁虎河v0.21.0(2018-06-15)》发行说明中明确提到:
Firefox 57(及更高版本)
硒3.11(及以上)
你的火狐版本是52.9.0。
所以GeckoDriver v0.22.0和Firefox浏览器v57明显不匹配
解决方案
将GeckoDriver升级至GeckoDriver v0.22.0级别。
壁虎在指定的位置。
GeckoDriver对非根用户具有可执行权限。
将Firefox版本升级至Firefox v62.0.2版本。
通过IDE清理项目工作区,并仅使用所需的依赖项重新生成项目。
如果您的基本Web客户端版本太旧,请通过Revo Uninstaller卸载它,并安装最新的GA和发布的Web客户端版本。
以非根用户身份执行Selenium测试。
GeckoDriver, Selenium and Firefox Browser compatibility chart
python - WebDriverException:消息:无效参数:无法在RaspberryPi3上使用GeckoDriver,Selenium和Python杀死已退出的进程-LMLPHP

关于python - WebDriverException:消息:无效参数:无法在RaspberryPi3上使用GeckoDriver,Selenium和Python杀死已退出的进程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53355993/

10-13 02:55