

This time the #find_element is used to select the text input based upon its name attribute. Results.find_elements(tag_name: 'h3').each do |h3| Results = driver.find_element(id: 'results') The benefit of running this in the notebook is that you don't need to know the exact path to pip running in the same virtual environment as Jupyter, so I use this trick a lot.Options = Selenium::WebDriver::Firefox::Options.new(args: )ĭriver = Selenium::WebDriver.for(:firefox, options: options) Since I was planning to use it from a Jupyter Notebook I actually installed it by running the following in a cell in a notebook: %pip install selenium I installed Selenium using pip for Python 3: pip install selenium Clicking that worked around the signing issue. To fix this, go to System Preferences -> Security & Privacy - there was a prompt there about the binary, with an "open this anyway" button. # A window displayed on macOS with an error The first time I ran it I got an error complaining that the binary has not been signed: ~/bin/chromedriver I decided to put this in my ~/bin directory. Unzipping this gave me a chromedriver binary file. I have Chrome 85 so I downloaded the chromedriver_mac64.zip file from Message: session not created: This version of ChromeDriver only supports Chrome version 85 Without using homebrewĬhromeDriver is available from the official website here:

Knowing how to upgrade an existing version is useful if you are seeing an error like this one: To upgrade an existing installation do this: brew upgrade chromedriver -cask

You still need to run it once in the terminal chromedriver to get the macOS error, then allow it in the Security & Privacy preferences - see below. This also ensures chromedriver is on your path, which means you don't need to use an explicit chromedriver_path later on. This is by far the easiest option: brew install chromedriver -cask Install the chromedriver binary If you have homebrew I needed to run Selenium on macOS for the first time today. Simon Willison’s TILs Installing Selenium for Python on macOS with ChromeDriver Installing Selenium for Python on macOS with ChromeDriver | Simon Willison’s TILs
