我有一个使用Selenium Webdriver登录网站的Java应用程序,检查特定文本并在找到它时给我发电子邮件。我有一个cron作业,每天早上运行jar文件,每晚都停止它。
它使用firefox但是运行无头,这是命令
xvfb-run --auto-servernum --server-num = 0 nohup / usr / bin / java -jar A.jar
当它试图打开Firefox时,会抛出以下内容:
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
*** Item Installed via directory addition to Install Location: app-global Item ID: {972ce4c6-7e08-4474-a285-3208198ce6fd}, attempting to register...
*** Item Installed/Upgraded at Install Location: app-global Item ID: {972ce4c6-7e08-4474-a285-3208198ce6fd}, attempting to register...
*** Blocklist::_loadBlocklist: no XML File found
*** ... success, item is compatible
*** Item Installed via directory addition to Install Location: app-profile Item ID: fxdriver@googlecode.com, attempting to register...
*** Item Installed/Upgraded at Install Location: app-profile Item ID: fxdriver@googlecode.com, attempting to register...
*** ... success, item is compatible at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:106)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:244)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:110)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:190)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:183)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:179)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:92)
at auth.Authenticator.<init>(Authenticator.java:27)
at reader.ReaderThread.run(ReaderThread.java:70)
奇怪的是,当我使用x2go并登录debian框时,程序运行正常。我可以看到Firefox打开,登录并尽其所能。
我正在使用Firefox 14的2.31版本,正如我所说,当我产生桌面会话并登录到盒子时,它可以正常工作。
知道为什么它不起作用?我想我现在可以更新到2.32但是我不认为这是问题,因为它在某些情况下可以正常工作而在其他情况下并不适用。
P.S如果我让它在我的Windows eclipse实例中运行,它就没有任何问题。
提前感谢您提供任何帮助
答案 0 :(得分:0)
您是否正在传递DISPLAY参数?我发现Firefox会在没有它的情况下坚持(当无头跑时)
Xvfb :0 -ac -screen 0 1024x768x24 &