Why Cant I Click an Element in Selenium?

2020-02-11 04:34发布

问题:

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?

回答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']


回答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()