Why Cant I Click an Element in Selenium?
36,305
Solution 1
You are clicking on div that contains other div with event listener. You should click on div where listener ist registered. This xpath should work:
//div[@class='filter offices']/div[@class='header']
Solution 2
Here, I give you working script which select location.
from selenium import webdriver
import time
driver = webdriver.Chrome('./chromedriver.exe')
url="https://jenner.com/people"
try:
driver.get(url)
element = driver.find_element_by_xpath("//div[@class='filter offices']")
element.click()
time.sleep(5)
element = driver.find_element_by_xpath("//input[@id='search_offices_chicago']")
element.click()
time.sleep(5)
except Exception as e:
print e
driver.quit()
driver.quit()
Related videos on Youtube
Author by
Neil Aggarwal
Updated on July 23, 2022Comments
-
Neil Aggarwal almost 2 years
I am trying to click an element in Selenium.
The site is: url = "http://jenner.com/people"
The xpath for the element is: url = //div[@class='filter offices']
Here is my code:
from selenium import webdriver driver = webdriver.Firefox() driver.get(url) element = driver.find_element_by_xpath("//div[@class='filter offices']") element.click()
When I click the element, the drop down for offices should appear. Instead, when I click the element, nothing happens. What am I doing wrong?
-
Mugen almost 7 yearsHow did you know that the listener is registered on the child div and not on the one containing 'filter offices'?
-
Floella over 6 yearsHow can you know where the listener event is registered?
-
nalply over 4 yearsOpen the website in Developer Tools. In my Firefox, for example, there's a bubble event near the element. If you click that bubble, you'll get more details. If there is no bubble, search for the right element above or below in the tree till you've found it, it's only important that the element is under the mouse cursor.