我有一个使用 Selenium Webdriver 登录网站的 java 应用程序,检查特定文本并在找到它们时给我发电子邮件。我有一个每天早上运行 jar 文件并每晚停止它的 cron 作业。
它使用 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 了,但我认为这不是问题,因为它在某些情况下可以正常工作,而在其他情况下则不行。
PS 如果我让它在我的 Windows eclipse 实例中运行,它没有任何问题。
提前感谢您的帮助