#selenium #selenium-webdriver #raspberry-pi #instapy
Вопрос:
Недавно я установил InstaPy и скачал один стандартный скрипт в Интернете. Я знаю, что в коде с открытым исходным кодом нет ничего плохого, и на форумах говорится, что нужно загрузить geckodriver. Однако я не нашел подходящего решения для установки geckodriver, так что, ребята, не могли бы вы сообщить мне, как лучше всего это исправить?
Ошибка:
>>> %Run basic_follow_unfollow_activity.py
InstaPy Version: 0.6.13
._. ._. ._. ._. ._. ._. ._. ._.
Workspace in use: "/home/pi/InstaPy"
Error, unable to determine correct filename for 32bit linux
Traceback (most recent call last):
File "/home/pi/Desktop/basic_follow_unfollow_activity.py", line 36, in <module>
headless_browser=False)
File "/home/pi/.local/lib/python3.7/site-packages/instapy/instapy.py", line 338, in __init__
geckodriver_log_level,
File "/home/pi/.local/lib/python3.7/site-packages/instapy/browser.py", line 122, in set_selenium_local_session
driver_path = geckodriver_path or get_geckodriver()
File "/home/pi/.local/lib/python3.7/site-packages/instapy/browser.py", line 38, in get_geckodriver
sym_path = gdd.download_and_install()[1]
File "/home/pi/.local/lib/python3.7/site-packages/webdriverdownloader/webdriverdownloader.py", line 177, in download_and_install
show_progress_bar=show_progress_bar)
File "/home/pi/.local/lib/python3.7/site-packages/webdriverdownloader/webdriverdownloader.py", line 129, in download
download_url = self.get_download_url(version, os_name=os_name, bitness=bitness)
File "/home/pi/.local/lib/python3.7/site-packages/webdriverdownloader/webdriverdownloader.py", line 324, in get_download_url
raise RuntimeError(info_message)
RuntimeError: Error, unable to determine correct filename for 32bit linux
Я попробовал следующие решения:
- Эта ссылка на форуме для установки geckodriver — https://www.raspberrypi.org/forums/viewtopic.php?t=167292
- Установлен firefox ESR в терминале —
sudo apt-get install firefox-esr
Ответ №1:
У меня были похожие проблемы с запуском geckodriver на моем Pi. Если я правильно помню, была проблема с опорой для РУК. В итоге я переключился на chromedriver.
вы можете легко установить его с помощью:
sudo apt install chromium-chromedriver
после этого вы можете использовать его без какого-либо исполняемого пути, как это:
from selenium import webdriver
driver = webdriver.Chrome()
Комментарии:
1. спасибо за предложение, но Instapy использует firefox по умолчанию, поэтому не может его изменить. Но я полагаю, что так оно и есть.
Ответ №2:
Инструкция по установке Geckodrive приведена в документации instapy по этой ссылке — https://github.com/InstaPy/instapy-docs/blob/master/How_Tos/How_to_Raspberry.md
Релизы GeckoDriver можно найти в: https://github.com/mozilla/geckodriver/releases. Последняя версия ARM по состоянию на 2019-08-16-v0.23.
Выполните следующие действия:
1) wget https://github.com/mozilla/geckodriver/releases/download/v0.23.0/geckodriver-v0.23.0-arm7hf.tar.gz
2) tar -xvzf geckodriver-v*
3) chmod x geckodriver
4) sudo cp geckodriver /usr/local/bin/
Убедитесь, что /usr/local/bin находится в ПУТИ вашей оболочки
Установите InstaPy
1) sudo apt-get install python3-pip
2) python3 -m pip install --user instapy
3) sudo reboot (optional)
Завершение установки Firefox
1) sudo pip3 install future
2) sudo apt-get install xvfb
3) sudo pip3 install pyvirtualdisplay