Webdriver 停止打开 Firefox

问题描述 投票:0回答:1

因此,我正在使用 etaoin 在 Clojure 中执行一些 Webdriver 操作。有一段时间它工作得很好。然而,我的程序在第 7 行崩溃了:

(ns Socialauto.core) (需要 '[etaoin.api:as e]) (需要 '[etaoin.keys :as k])

(需要'[socialauto.scraper:作为刮刀])

(默认驱动程序(e/firefox))

当它去定义firefox驱动程序时

(def driver (e/firefox))
,它就爆炸了。它给了我这个错误:

#错误{ :cause throw+: {:response {:value {:error "未知错误", :message "进程因状态信号意外关闭", :stacktrace ""}}, :path "会话", :payload {:desiredCapability {:loggingPrefs {:浏览器“全部”}}},:方法:post,:类型:etaoin / http-error,:端口64044,:主机“127.0.0.1”,:状态500,:webdriver-url nil,:driver {:类型:firefox,:主机“127.0.0.1”,:端口64044,:url“http://127.0.0.1:64044”,:定位器“xpath”,:功能{:loggingPrefs {:浏览器“ALL”}}, :args ("geckodriver" "--port" 64044), :process {:proc #object[java.lang.ProcessImpl 0x321bf4b1 "Process[pid=9879, exitValue="未退出"]"], :exit nil, :在#object[java.lang.ProcessImpl$ProcessPipeOutputStream 0x598f6c93“java.lang.ProcessImpl$ProcessPipeOutputStream@598f6c93”],:out #object[java.lang.ProcessBuilder$NullInputStream 0x65630116“java.lang.ProcessBuilder$NullInputStream@65630116”] , :err #object[java.lang.ProcessBuilder$NullInputStream 0x65630116 "java.lang.ProcessBuilder$NullInputStream@65630116"], :prev nil, :cmd ["geckodriver" "--port" "64044"]}}}

这种情况是在一天早上我去运行程序时开始发生的。前一天还运行得很好。

我已经卸载并重新安装了 Geckodriver 和 Firefox。但这并没有解决问题。我原以为这是某种版本控制问题,并认为 Firefox 可能在我不知情的情况下进行了更新。

selenium-webdriver firefox clojure webdriver geckodriver
1个回答
2
投票

所以,对于其他遇到此问题的人来说,我找出了问题所在。

我必须改变

(默认驱动程序(e/firefox))

(def 驱动程序 (e/firefox {:path-driver "/opt/homebrew/bin/geckodriver" :路径浏览器“/opt/homebrew/bin/firefox”}))

我猜这个问题来自于

etaoin
没有找到浏览器或驱动程序,所以我得到了两者的路径。

对于遇到此问题的任何其他人:运行

where geckodriver
where firefox
并将它们的输出设置为键
:path-driver
:path-browser
的值。

© www.soinside.com 2019 - 2024. All rights reserved.