服务器:树莓派 3
操作系统:Dietpi - 版本 159
Geckodriver 版本:0.22 for arm
火狐版本:52.9.0
蟒蛇版本: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
知道有什么问题吗?我试过谷歌没有运气。
原文由 Chokoladekiks 发布,翻译遵循 CC BY-SA 4.0 许可协议
拇指法则
这个错误信息…
…暗示 GeckoDriver 无法启动/生成新的 WebBrowsing 会话,即 Firefox 浏览器 会话。
您的主要问题是您使用的二进制文件版本之间 不兼容,如下所示:
您的 GeckoDriver 版本是 0.22.0 。
GeckoDriver v0.21.0 (2018-06-15) 的发行说明明确提到以下内容:
您的 Firefox 版本是 52.9.0 。
所以 GeckoDriver v0.22.0 和 Firefox Browser v57 之间存在明显的不匹配
解决方案
GeckoDriver 、 Selenium 和 Firefox 浏览器 兼容性图表