2013-05-12 64 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() 
相關問題