This worked for me after spending hours fighting with javascript:void(0)
import os
import time
from selenium import webdriver
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
driver = webdriver.Chrome()
driver.get('https://www.website.com')
print (driver.title)
elem = driver.find_element_by_css_selector("something-here")
important_is_needed = elem.location_once_scrolled_into_view
elem.click()
time.sleep(1)
See this for Linux chrome install for selenium
https://stackoverflow.com/questions/8255929/running-webdriver-chrome-with-selenium
Note this comment "you can install chromium-chromdriver package (e.g. with apt-get) and add the path of the chromedriver file to the PATH shell variable PATH="${PATH}":/usr/lib/chromium-browser/ If you add this to your .bashrc, you won't need to set it each time you want to test with selenium" Thanks @Arpad Horvath
My install commands.
sudo pip install pyvirtualdisplay
sudo apt-get install xvfb
sudo apt-get install chromium-chromedriver
Also note the selenium ide firefox plugin can help. Recording with the ide will tell you the correct string to use for find_element_by_css_selector. Also, if this is new to you, firefox developer inspector tool and chrome inspect element tool are invaluable.