Cho*_*iks 16 python firefox selenium raspberry-pi3 geckodriver
服务器:Raspberry Pi 3
OS:Dietpi - 版本159
Geckodriver版本:0.22 for arm
Firefox版本: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')
...
...
Run Code Online (Sandbox Code Playgroud)
输出:
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
Run Code Online (Sandbox Code Playgroud)
知道什么是错的吗?我试过谷歌没有运气.
NFe*_*ern 28
如果在没有显示的系统上运行Firefox,请确保使用无头模式。
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.headless = True
driver = webdriver.Firefox(options=options)
Run Code Online (Sandbox Code Playgroud)
另外,请确保您具有Firefox,Selenium和Geckodriver的兼容版本:https ://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html
Deb*_*anB 26
此错误消息...
selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process
Run Code Online (Sandbox Code Playgroud)
...暗示GeckoDriver无法启动/生成新的WebBrowsing会话,即Firefox浏览器会话.
您的主要问题是您使用的二进制文件版本之间的不兼容性如下:
GeckoDriver v0.21.0(2018-06-15)的发行说明清楚地提到了以下内容:
Firefox 57(及更高版本)
硒3.11(及以上)
您的Firefox版本是52.9.0.
因此,GeckoDriver v0.22.0与Firefox浏览器v57之间存在明显的不匹配
__CODE__以非root用户身份执行您的操作.是的,已选中在构建可以解决问题之前启动Xvfb,但是如果您有管道或多分支管道之类的工作,则此选项不可见。在执行测试的Selenium网格节点中,您需要:
1-安装Xvfb: apt install xvfb
2-执行Xvfb: /usr/bin/Xvfb :99 -ac -screen 0 1024x768x8 & export DISPLAY=":99"
3-重新运行您的节点,例如: java -jar selenium.jar -role node -hub http://#.#.#.#:4444/grid/register -capabilities browserName=firefox,plataform=linux -host #.#.#.# -port 1991
这个解决方案对我有用
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.headless = True
driver = webdriver.Firefox(options=options)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30637 次 |
| 最近记录: |