1

Seleniumスクリプトを実行すると、この問題に直面しています:(Tomcatでこのコードを実行していますが、これは例外に直面したときですが、通常のEclipseではこれは完全にうまく機能します)

**org.openqa.selenium.WebDriverException: org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/opt/firefox/firefox-bin) on port 7055; process output follows:** 
Error: cannot open display: www.displayName.com:0.0
�
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.21-1.32.6.amzn1.x86_64', java.version: '1.7.0_05'
Driver info: driver.version: firefox
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.21-1.32.6.amzn1.x86_64', java.version: '1.7.0_05'
Driver info: driver.version: firefox
    at org.openqa.selenium.firefox.internal.ExtensionConnectionFactory.connectTo(ExtensionConnectionFactory.java:46)
    at org.openqa.selenium.firefox.FirefoxDriver.connectTo(FirefoxDriver.java:127)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:117)
    at com.domain.myproject.server.MyServlet.doFilter(CrawlServlet.java:120)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at com.ensarm.wikirealty.server.service.CacheControllerFilter.doFilter(CacheControllerFilter.java:46)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:67)
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122)
    at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
Caused by: org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/opt/firefox/firefox-bin) on port 7055; process output follows: 
Error: cannot open display: www.wikirealty.com:0.0
�
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.21-1.32.6.amzn1.x86_64', java.version: '1.7.0_05'
Driver info: driver.version: firefox
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.connectToBrowser(NewProfileExtensionConnection.java:60)
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.<init>(NewProfileExtensionConnection.java:49)
    at org.openqa.selenium.firefox.internal.ExtensionConnectionFactory.connectTo(ExtensionConnectionFactory.java:44)
    ... 27 more
Caused by: org.openqa.selenium.firefox.NotConnectedException: Failed to start up socket within 45000
    at org.openqa.selenium.firefox.internal.AbstractExtensionConnection.connectToBrowser(AbstractExtensionConnection.java:143)
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.connectToBrowser(NewProfileExtensionConnection.java:58)
    ... 29 more

誰でもこの例外を手伝ってくれて、解決策を教えてください

編集

コード:

String url = "google.com";
WebDriver driver = new FirefoxDriver();
String str =""; 
driver.get(url); 
driver.wait(10000);
str = driver.getPageSource();
System.out.println(str); 
driver.close(); 
4

2 に答える 2

3

多くのグーグルとTarkenリンクを通過した後、最終的な解決策は次のとおりです。

  1. ヘッドレス サーバーに xvfb を追加します。
  2. インスタンスの作成中に xvfb プロパティを firefox プロファイルに設定します。
  3. jar を適切に組み合わせて、冗長な jar を削除してください
于 2012-08-30T11:09:49.650 に答える
2

インスタンスがそれよりもヘッドレスである場合、それが問題です。Firefox にはウィンドウが必要です。

ヘッドレスの問題に関するリンク:

于 2012-08-28T11:03:23.417 に答える