Есть ли известная рабочая конфигурация для использования Selenium на linux-arm64?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли известная рабочая конфигурация для использования Selenium на linux-arm64?

Сообщение Anonymous »

Я написал быструю программу, которая просто открывает и закрывает веб-сайт с помощью Firefox через определенные промежутки времени. Он отлично работает на моей Intel Mac OS Ventura. Я намеревался сохранить его работу на Raspberry Pi, но не могу найти комбинацию версий Selenium, geckodriver или chromedriver, а также Firefox или Chromium, которая будет работать на нем.
На Mac есть Selenium 4.11.2, geckodriver v0.33.0 и Firefox 115.0.3 работают. На Raspberry Pi установлена ​​Ubuntu 22.04.3 LTS. Здесь, https://github.com/SeleniumHQ/selenium/issues/11599, я узнал, что Selenium Manager не работает на linux-arm64, а Raspberry Pi использует linux-arm64. Я получал ошибки, даже когда пытался указать путь к драйверу, при этом Selenium регистрировал, что не может найти драйвер, даже если он также находился в PATH. Похоже, в разговоре выше разработчики говорят, что встроенный менеджер драйверов Selenium Manager вызывает подобные ошибки. Selenium Manager был представлен в Selenium 4.6, поэтому я вернулся к Selenium 4.5, изменил свой код для этой версии, попытался запустить его и получил различные ошибки, которые, по-видимому, были связаны с проблемами несовместимости между драйвером и версией Firefox. Я пробовал разные их комбинации, но безуспешно. Тогда я решил вместо этого попробовать Chrome. Google не предоставляет сборку chromedriver для linux-arm64, поэтому я попробовал использовать разные версии, найденные здесь, https://github.com/electron/electron/releases, а также попытался откатить Chromium. Мне удалось хотя бы запустить с помощью программы браузер Chromium, что добилось большего успеха, чем с Firefox, но мне не удалось заставить его работать полностью. На протяжении всего процесса я читал много ответов на проблемы с Selenium в Stack Overflow, но ничего не помогло.
Вот код, который отлично работает на Mac с приведенной выше конфигурацией:
import datetime, logging, time
from selenium import webdriver

logger = logging.getLogger('selenium')
logger.setLevel(logging.DEBUG)
handler = logging.FileHandler("handler.log")
logger.addHandler(handler)
logging.getLogger('selenium.webdriver.remote').setLevel(logging.DEBUG)
logging.getLogger('selenium.webdriver.common').setLevel(logging.DEBUG)
logging.basicConfig(filename="program.log", level=logging.INFO)
timeStarted = datetime.datetime.now()
logging.info(
timeStarted.strftime("%m/%d/%Y, %H:%M:%S")
+ " started on https://google.com"
)
# Program starts here
while True:
timeOfRequest = datetime.datetime.now()
try:
browser = webdriver.Firefox()
browser.get("https://google.com")
logging.info(
timeOfRequest.strftime("%m/%d/%Y, %H:%M:%S")
+ " Success"
)
except:
logging.exception(
timeOfRequest.strftime("%m/%d/%Y, %H:%M:%S") + " Something went wrong"
)
time.sleep(810)
browser.quit()
time.sleep(30)


Подробнее здесь: https://stackoverflow.com/questions/768 ... inux-arm64
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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