Selenium с сбоем PHP на конкретном сервереLinux

Ответить
Anonymous
 Selenium с сбоем PHP на конкретном сервере

Сообщение Anonymous »

Я пытаюсь работать с Selenium и PHP, и мне удалось успешно протестировать его на Ubuntu и AlmaLinux на многих серверах, таких как Vultr и Digital Ocean, даже с такими панелями, как Plesk и WHM.
Но мне нужно запустить этот сценарий на сервере Hostgator, AlmaLinux с WHM, и у меня возникли проблемы.
Я устанавливаю:

[*]Google Chrome
[*]Chromedriver (usr/local/bin)
[*]Java 17 (java и java-devel)
[*]Композитор
[*]php-webdriver/webdriver
[*]Selenium Server 4.27 (usr/local/bin)

Работает на всех серверах, но Хостгатор. Он выводит, что не может найти драйвер, который правильно находится в папке PATH («chromedrive --version» возвращает правильную версию).
Но когда я запускаю:

Код: Выделить всё

java -jar /usr/local/bin/selenium-server-4.27.0.jar standalone
Я понял:

Код: Выделить всё

20:47:58.883 INFO [OpenTelemetryTracer.createTracer] - Using OpenTelemetry for tracing
20:48:00.598 INFO [NodeOptions.getSessionFactories] - Detected 4 available processors
20:48:00.600 INFO [NodeOptions.discoverDrivers] - Looking for existing drivers on the PATH.
20:48:00.601 INFO [NodeOptions.discoverDrivers] - Add '--selenium-manager true' to the startup command to setup drivers automatically.
20:48:00.857 WARN [NodeOptions.addDetectedDrivers] - No drivers have been configured or have been found on PATH
20:48:00.858 ERROR [Bootstrap.runMain] - Error during execution
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.openqa.selenium.grid.Bootstrap.runMain(Bootstrap.java:77)
at org.openqa.selenium.grid.Bootstrap.main(Bootstrap.java:70)
Caused by: org.openqa.selenium.grid.config.ConfigException: java.lang.reflect.InvocationTargetException
at org.openqa.selenium.grid.config.MemoizedConfig.getClass(MemoizedConfig.java:119)
at org.openqa.selenium.grid.node.config.NodeOptions.getNode(NodeOptions.java:184)
at org.openqa.selenium.grid.commands.Standalone.createNode(Standalone.java:258)
at org.openqa.selenium.grid.commands.Standalone.createHandlers(Standalone.java:217)
at org.openqa.selenium.grid.TemplateGridServerCommand.asServer(TemplateGridServerCommand.java:48)
at org.openqa.selenium.grid.commands.Standalone.execute(Standalone.java:244)
at org.openqa.selenium.grid.TemplateGridCommand.lambda$configure$4(TemplateGridCommand.java:122)
at org.openqa.selenium.grid.Main.launch(Main.java:83)
at org.openqa.selenium.grid.Main.go(Main.java:56)
at org.openqa.selenium.grid.Main.main(Main.java:41)
... 6 more
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.openqa.selenium.grid.config.ClassCreation.callCreateMethod(ClassCreation.java:51)
at org.openqa.selenium.grid.config.MemoizedConfig.lambda$getClass$4(MemoizedConfig.java:104)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1740)
at org.openqa.selenium.grid.config.MemoizedConfig.getClass(MemoizedConfig.java:99)
... 15 more
Caused by: org.openqa.selenium.grid.config.ConfigException: No drivers have been configured or have been found on PATH
at org.openqa.selenium.grid.node.config.NodeOptions.addDetectedDrivers(NodeOptions.java:550)
at org.openqa.selenium.grid.node.config.NodeOptions.getSessionFactories(NodeOptions.java:250)
at org.openqa.selenium.grid.node.local.LocalNodeFactory.create(LocalNodeFactory.java:80)
...  23 more
А если я побегу:

Код: Выделить всё

java -Dwebdriver.chrome.driver="/usr/local/bin/chromedriver" -jar /usr/local/bin/selenium-server-4.27.0.jar standalone
Я получил:

Код: Выделить всё

20:51:06.565 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
20:51:06.577 INFO [OpenTelemetryTracer.createTracer] - Using OpenTelemetry for tracing
20:51:08.492 INFO [NodeOptions.getSessionFactories] - Detected 4 available processors
20:51:08.496 INFO [NodeOptions.discoverDrivers] - Looking for existing drivers on the PATH.
20:51:08.500 INFO [NodeOptions.discoverDrivers] - Add '--selenium-manager true' to the startup command to setup drivers automatically.
20:51:08.813 INFO [NodeOptions.report] - Adding Chrome for {"browserName": "chrome","platformName": "linux"} 4 times
20:51:08.834 INFO [Node.] - Binding additional locator mechanisms: relative
20:51:08.900 INFO [GridModel.setAvailability] - Switching Node 49b359c3-bf3e-4345-8c74-d5c355953f58 (uri: http://localhost:4444) from DOWN to UP
20:51:08.908 INFO [LocalDistributor.add] - Added node 49b359c3-bf3e-4345-8c74-d5c355953f58 at http://localhost:4444. Health check every 120s
20:51:09.172 INFO [Standalone.execute] - Started Selenium Standalone 4.27.0 (revision d6e718d): http://localhost:4444
Он работает, но только так и перестает работать после нескольких минут простоя, что убивает для меня всю его цель, когда мне нужно периодически запускать некоторые коды (cronjob).
Я много исследовал, но могу понять, что с этим происходит.
Любая помощь приветствуется! =)

Подробнее здесь: https://stackoverflow.com/questions/793 ... fic-server
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»