I would like to set up the Raspberry Pi as a client that exclusively runs FireFox as a client in a Selenium grid.
Has anyone tried and got this to work?
Are there any tips or pitfalls that I will need to be aware of?
Raspberry Pi Stack Exchange is a question and answer site for users and developers of hardware and software for Raspberry Pi. It only takes a minute to sign up.Sign up to join this community
You either need to have enable X or better you can run Selenium webdriver on Raspberry Pi in headless mode with
xvfb. For this you need the following:
Install required APT packages:
sudo apt-get update sudo apt-get install iceweasel sudo apt-get install xvfb
sudo pip install selenium sudo pip install PyVirtualDisplay sudo pip install xvfbwrapper
wget https://github.com/mozilla/geckodriver/releases/download/v0.23.0/geckodriver-v0.23.0-arm7hf.tar.gz tar -xvzf geckodriver* chmod +x geckodriver sudo mv geckodriver /usr/local/bin/
Then start with the following minimal Python:
from pyvirtualdisplay import Display from selenium import webdriver display = Display(visible=0, size=(1024, 768)) display.start() driver = webdriver.Firefox() driver.get('http://raspberrypi.stackexchange.com/') driver.quit() display.stop()
Following on from @Techraf you need to install the geckodriver.
Here is the latest version supported for Rasp Pi:
This is the latest release supporting arm7hf, which I believe is required for Selenium on Rasp Pi.
You need to inform your script to load the geckodriver. Like so
from selenium import webdriver driver = webdriver.Firefox(executable_path = '/home/pi/Downloads/geckodriver') driver.get('http://raspberrypi.stackexchange.com/')