[SOLVED] Trying to Find a Button Using Selenium


This Content is from Stack Overflow. Question asked by Kyle Sanquist

In the red is the button I'm trying to access

So I’m trying to get my code to click the button in red in the image above, but no matter what I try selenium returns a NoSuchElementException. How would you go at doing this? Cause I can’t figure it out.

Here’s my code if you’re interested:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time

# Set up driver and remove weird error message that doesn't matter
options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver = webdriver.Chrome(options=options)

# Get the webpage to interact with

# Find search box and type into it
to_des = driver.find_element(By.ID, "searchboxinput").send_keys('McHenry Library')
enter = driver.find_element(By.ID, "searchboxinput").send_keys(Keys.ENTER)
directions = driver.find_element(By.XPATH, '//*[@id="QA0Szd"]/div/div/div[1]/div[2]/div/div[1]/div/div/div[4]/div[1]/button').click()
walking = driver.find_element(By.XPATH, '//*[@id="omnibox-directions"]/div/div[2]/div/div/div/div[4]/button').click()
from_des = driver.find_element(By.CLASS_NAME, 'tactile-searchbox-input')[2].send_keys('Oakes College')


You can click on the Direction text using xpath:


If you want to click the Direction icon then, you can try with following Xpath:


If neither of these work, add step to check if the pane is open before clicking "Direction". It is possible that the pane is taking some time to open, and thus the element was not found.

This Question was asked in StackOverflow by Kyle Sanquist and Answered by Pooja Jadhav It is licensed under the terms of CC BY-SA 2.5. - CC BY-SA 3.0. - CC BY-SA 4.0.

people found this article helpful. What about you?