2013-05-12 4 views
5

मैं सेलेनियम में एक तत्व पर क्लिक करने की कोशिश कर रहा हूं।मैं सेलेनियम में एक तत्व पर क्लिक क्यों कर सकता हूं?

स्थल है: url = "http://jenner.com/people"

तत्व के लिए xpath है: यूआरएल = // div [@ class = 'फिल्टर कार्यालयों']

यहाँ मेरी कोड है:

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 पर पंजीकृत है, न कि 'फ़िल्टर ऑफिस' वाले किसी पर? – Mugen

+0

आप कैसे जान सकते हैं कि श्रोता कार्यक्रम पंजीकृत है? – Floella

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() 
संबंधित मुद्दे