2013-05-12 59 views
5

我想点击Selenium中的一个元素。为什么我不能单击Selenium中的元素?

该网站是:URL = “http://jenner.com/people

该元素的XPath是:URL = // DIV [@类='过滤办事处]

这里是我的代码:

from selenium import webdriver 
driver = webdriver.Firefox() 
driver.get(url) 
element = driver.find_element_by_xpath("//div[@class='filter offices']") 
element.click() 

当我点击该元素时,应出现办公室的下拉菜单。相反,当我点击元素时,没有任何反应。我究竟做错了什么?

回答

4

您正在点击包含具有事件侦听器的其他div的div。你应该点击注册听众的div。这xpath应该工作:

//div[@class='filter offices']/div[@class='header'] 
+0

你是怎么知道监听者是在子div上注册的,而不是在包含'filter offices'的监听器上注册的? – Mugen 2017-08-07 12:29:31

+0

你怎么知道监听者事件在哪里注册? – Floella 2018-02-27 13:01:15

3

在这里,我给你选择位置的工作脚本。

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() 
相关问题