powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / seleniom в Python запуск из приложения = ошибка
10 сообщений из 10, страница 1 из 1
seleniom в Python запуск из приложения = ошибка
    #40071425
О-О-О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сеть Selenium + Python 3.7. Работаю на Debian 11.
В selenium запускаю Firefox. При запуске просто из Python - все работает нормально.
Все новое и с обновлениями.

При запуске из Postgresql - ругается. Не понимаю что нужно selenium, т.к. ошибка именно на строке выполнения селениум.

При этом, нашел все директории для Python - туда загрузил файл (бинарный от Firefox = geckodriver + лог.файл).
Права доступа к обоим файлам сделал полные (и для групп и для пользователя).

Вот что имею:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
from bs4 import BeautifulSoup
from selenium import webdriver
from lxml import etree
import sys

plpy.notice(sys.path) # вывод списка каталогов куда скинул копии geckodriver 

browser = webdriver.Firefox(executable_path=r'/usr/local/lib/python3.7/dist-packages/geckodriver') # хоть так,
# хоть вот так:    browser = webdriver.Firefox()
url ='https://profilirovanie.ru # 
browser.get(url)
html_text=browser.page_source



А вот что выдает мне (ошибка):
это каталог папок Python:
Код: sql
1.
2.
ЗАМЕЧАНИЕ:  ['/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', 
 '/home/postgres/.local/lib/python3.7/site-packages', '/usr/local/lib/python3.7/dist-packages', '/usr/lib/python3/dist-packages']



Это ошибка:
Код: sql
1.
2.
3.
ОШИБКА:  selenium.common.exceptions.SessionNotCreatedException: Message: Expected browser binary location, 
but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, 
and no binary flag set on the command line



Это расшифровка ошибки:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
КОНТЕКСТ:  Traceback (most recent call last):
  PL/Python function "i20_py_запросurl", line 30, in <module>
    browser = webdriver.Firefox(executable_path=r'/usr/local/lib/python3.7/dist-packages/geckodriver')
  PL/Python function "i20_py_запросurl", line 173, in __init__
  PL/Python function "i20_py_запросurl", line 156, in __init__
  PL/Python function "i20_py_запросurl", line 251, in start_session
  PL/Python function "i20_py_запросurl", line 320, in execute
  PL/Python function "i20_py_запросurl", line 241, in check_response
функция PL/Python "i20_py_запросurl"



В чем может быть дело?
Чую что речь идет о каком то фильтре, параметре, но на сайте Selenium как то пропущен этот момент.
.
...
Рейтинг: 0 / 0
seleniom в Python запуск из приложения = ошибка
    #40071857
iot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
iot
Гость
О-О-О,
попробуйте явно указать пути до всех бинарников
Код: python
1.
2.
3.
4.
options = Options()
options.binary_location = r"/location/to/Firefox/Binary/firefox"
driver = webdriver.Firefox(options=options, executable_path="/location/to/geckodriver")
driver.get('http://google.com/')
...
Рейтинг: 0 / 0
seleniom в Python запуск из приложения = ошибка
    #40072146
О-О-О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iot,

К сожалению - не удалось.
Теперь ошибка другая и говорит, что процесс что то блокирует.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
ОШИБКА:  selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status 1

КОНТЕКСТ:  Traceback (most recent call last):
  PL/Python function "test_python_selenium", line 31, in <module>
    driver = webdriver.Firefox(options=options, executable_path="/home/postgres/_keywords_сбор_статей/firefox_selenium/geckodriver")
  PL/Python function "test_python_selenium", line 173, in __init__
  PL/Python function "test_python_selenium", line 156, in __init__
  PL/Python function "test_python_selenium", line 251, in start_session
  PL/Python function "test_python_selenium", line 320, in execute
  PL/Python function "test_python_selenium", line 241, in check_response
функция PL/Python "test_python_selenium"
key_words=# 



Сам код имеет вид:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.firefox.options import Options
import time, sys, os, psycopg2 

options = Options()
options.binary_location = "/bin/firefox"
driver = webdriver.Firefox(options=options, executable_path="/home/postgres/_keywords_сбор_статей/firefox_selenium/geckodriver")
driver.get('http://google.com/')



.
Код ошибки №1 вылазит, хоть я ставлю r"/bin/firefox" + r"/home/postgres/_keywords_сбор_статей/firefox_selenium/geckodriver"
хоть не ставлю.

.
...
Рейтинг: 0 / 0
seleniom в Python запуск из приложения = ошибка
    #40072173
iot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
iot
Гость
О-О-О,

возможно webdriver не совместим с версией броузера.
посмотрите geckodriver.log, там должно быть больше инфы об ошибке
как вариант попробуйте добавить опцию --headless
Код: python
1.
options.add_argument("--headless")
...
Рейтинг: 0 / 0
seleniom в Python запуск из приложения = ошибка
    #40072293
iot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
iot
Гость
О-О-О,

если firefox не пишет достаточно инфы об ошибке в логах, как вариант можно попробовать chromedriver, возможно будет больше информации
...
Рейтинг: 0 / 0
seleniom в Python запуск из приложения = ошибка
    #40073245
О-О-О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iot,

Запустился. Только запускается в фоновом режиме, это когда окно браузера не открывается.
Соответственно, всё что должно было активироваться (java подкачка файлов не сработала).

Уже прогресс. Только осталось узнать, как принудительно задать команду на работу браузера в явном режиме (не фоновом).
...
Рейтинг: 0 / 0
seleniom в Python запуск из приложения = ошибка
    #40073246
О-О-О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iot,
Как дать команду, чтобы selenium webdriver открывал браузер явно, а не в фоновом режиме?
.
...
Рейтинг: 0 / 0
seleniom в Python запуск из приложения = ошибка
    #40073247
О-О-О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если нет строки с кодом:
Код: sql
1.
options.add_argument("--headless")



то выводит ошибку:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
key_words=# select роботы_автоматом.test_python_selenium();
ОШИБКА:  selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status 1

КОНТЕКСТ:  Traceback (most recent call last):
  PL/Python function "test_python_selenium", line 32, in <module>
    browser = webdriver.Firefox(options=options, executable_path=r"/home/postgres/_keywords_сбор_статей/firefox_selenium/geckodriver")
  PL/Python function "test_python_selenium", line 173, in __init__
  PL/Python function "test_python_selenium", line 156, in __init__
  PL/Python function "test_python_selenium", line 251, in start_session
  PL/Python function "test_python_selenium", line 320, in execute
  PL/Python function "test_python_selenium", line 241, in check_response
функция PL/Python "test_python_selenium"
key_words=# 


.

Так что решение с options.add_argument("--headless") = ПОМОГЛО.
.
...
Рейтинг: 0 / 0
seleniom в Python запуск из приложения = ошибка
    #40073352
iot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
iot
Гость
О-О-О,

про headless firefox лучше почитать здесь , js не должен отключаться, только UI components, но нужно настроить новый профайл
...
Рейтинг: 0 / 0
seleniom в Python запуск из приложения = ошибка
    #40073378
О-О-О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iot,

Спасибо.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / seleniom в Python запуск из приложения = ошибка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]