Я написал быструю программу, которая просто открывает и закрывает веб-сайт с помощью 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
Есть ли известная рабочая конфигурация для использования Selenium на linux-arm64? ⇐ Python
Программы на Python
1731461796
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)
Подробнее здесь: [url]https://stackoverflow.com/questions/76857893/is-there-a-known-working-configuration-for-using-selenium-on-linux-arm64[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия