Selenium 独立服务器未启动
Selenium standalone server not starting
我 运行 在 VPS
上启动 selenium 独立服务器时遇到了麻烦
root@PIV:/usr/share/nginx/pivdev/tests# java -jar selenium-server.jar
输出:
21:53:08.857 INFO - Launching a standalone Selenium Server
21:53:08.911 INFO - Java: Oracle Corporation 24.79-b02
21:53:08.914 INFO - OS: Linux 3.13.0-52-generic amd64
21:53:08.945 INFO - v2.47.1, with Core v2.47.1. Built from revision 411b314
21:53:09.070 INFO - Driver provider org.openqa.selenium.ie.InternetExplorerDriver registration is skipped:
registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match the current platform LINUX
21:53:09.071 INFO - Driver provider org.openqa.selenium.edge.EdgeDriver registration is skipped:
registration capabilities Capabilities [{platform=WINDOWS, browserName=MicrosoftEdge, version=}] does not match the current platform LINUX
21:53:09.071 INFO - Driver class not found: com.opera.core.systems.OperaDriver
21:53:09.071 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered
此后不再输出。
在本地,相同的命令就像一个魅力一样工作。任何提示如何解决这个问题?
Java
root@PIV:/usr/share/nginx/pivdev/tests# java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
更新 1
服务根本运行不在任何端口上
Netstat 输出
root@PIV:~# netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 898/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1247/sendmail: MTA:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 974/mysqld
tcp 0 0 127.0.0.1:587 0.0.0.0:* LISTEN 1247/sendmail: MTA:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1005/nginx
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 1005/nginx
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 496/vsftpd
tcp6 0 0 :::22 :::* LISTEN 898/sshd
tcp6 0 0 :::35484 :::* LISTEN 2036/java
tcp6 0 0 :::50920 :::* LISTEN 2036/java
tcp6 0 0 :::8080 :::* LISTEN 2036/java
更新 2
好的,这里的主要问题是 selenium 服务器在启动时卡住了,我不知道为什么。我摧毁了我的 VPS 机器并从头开始。 selenium 服务器启动了一次,在我停止并重新启动后,问题发生了(重启后仍然存在)。有时它甚至在第一次尝试时也不起作用。
我不确定它是 java 问题或 selenium 服务器问题还是我的 VPS 主机问题。
当 运行 在 linux 上时,最好启动 selenium 服务器,并提供类似于以下的一些功能:
java -jar selenium-server.jar -Dwebdriver.chrome.bin=/path/to/google-chrome -Dwebdriver.chrome.driver=/path/to/chromedriver -browser browserName=chrome platform=LINUX -port 4444
此外,不确定您的本地系统是否为 Linux。
长篇小说:
Selenium 使用 /dev/random(不知道为什么,不要问),它正在等待足够的熵来生成随机数。
修复
只需在启动selenium时添加参数:-Djava.security.egd=file:///dev/urandom switch
就可以了
我 运行 在 VPS
上启动 selenium 独立服务器时遇到了麻烦root@PIV:/usr/share/nginx/pivdev/tests# java -jar selenium-server.jar
输出:
21:53:08.857 INFO - Launching a standalone Selenium Server
21:53:08.911 INFO - Java: Oracle Corporation 24.79-b02
21:53:08.914 INFO - OS: Linux 3.13.0-52-generic amd64
21:53:08.945 INFO - v2.47.1, with Core v2.47.1. Built from revision 411b314
21:53:09.070 INFO - Driver provider org.openqa.selenium.ie.InternetExplorerDriver registration is skipped:
registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match the current platform LINUX
21:53:09.071 INFO - Driver provider org.openqa.selenium.edge.EdgeDriver registration is skipped:
registration capabilities Capabilities [{platform=WINDOWS, browserName=MicrosoftEdge, version=}] does not match the current platform LINUX
21:53:09.071 INFO - Driver class not found: com.opera.core.systems.OperaDriver
21:53:09.071 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered
此后不再输出。 在本地,相同的命令就像一个魅力一样工作。任何提示如何解决这个问题?
Java
root@PIV:/usr/share/nginx/pivdev/tests# java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
更新 1
服务根本运行不在任何端口上
Netstat 输出
root@PIV:~# netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 898/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1247/sendmail: MTA:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 974/mysqld
tcp 0 0 127.0.0.1:587 0.0.0.0:* LISTEN 1247/sendmail: MTA:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1005/nginx
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 1005/nginx
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 496/vsftpd
tcp6 0 0 :::22 :::* LISTEN 898/sshd
tcp6 0 0 :::35484 :::* LISTEN 2036/java
tcp6 0 0 :::50920 :::* LISTEN 2036/java
tcp6 0 0 :::8080 :::* LISTEN 2036/java
更新 2
好的,这里的主要问题是 selenium 服务器在启动时卡住了,我不知道为什么。我摧毁了我的 VPS 机器并从头开始。 selenium 服务器启动了一次,在我停止并重新启动后,问题发生了(重启后仍然存在)。有时它甚至在第一次尝试时也不起作用。
我不确定它是 java 问题或 selenium 服务器问题还是我的 VPS 主机问题。
当 运行 在 linux 上时,最好启动 selenium 服务器,并提供类似于以下的一些功能:
java -jar selenium-server.jar -Dwebdriver.chrome.bin=/path/to/google-chrome -Dwebdriver.chrome.driver=/path/to/chromedriver -browser browserName=chrome platform=LINUX -port 4444
此外,不确定您的本地系统是否为 Linux。
长篇小说:
Selenium 使用 /dev/random(不知道为什么,不要问),它正在等待足够的熵来生成随机数。
修复
只需在启动selenium时添加参数:-Djava.security.egd=file:///dev/urandom switch
就可以了