2014-11-27 3 views
0

Я использую selenium2library (python) для нашей автоматизации. используется этот методэлемент не щелкает [selenium]

def get_appointment_from_manage(self, date, appt_id): 
    ref_date = "//*[@data-date=\"%s\"]" % date 
    time.sleep(2) 
    logging.info(date) 
    logging.info(appt_id) 
    while not self.is_element_present_by_xpath(ref_date) : 
     self._current_browser().find_element_by_xpath("//*[@id=\"calendar1\"]/div[1]/div[3]/div/button[2]").click(); 
    time.sleep(2) 
    element = self._current_browser().find_element_by_xpath("//*[@data-aid=\"%s\"]" % appt_id) 
    logging.info(element) 

    ActionChains(self._current_browser()).move_to_element(element).click().perform() 

В журнале указано, что элемент был найден, но он не щелкнул. Это часть, которая не щелкает.

element = self._current_browser().find_element_by_xpath("//*[@data-aid=\"%s\"]" % appt_id) 
    logging.info(element) 

    ActionChains(self._current_browser()).move_to_element(element).click().perform() 

При осмотре элемента весь элемент покрыт синим. Поэтому я не знаю, чего мне не хватает. Версия для Firefox - 28. Спасибо заранее!

EDIT

Это HTML

<div class="fc-event-container"> 
    <div class="fc-event-box" style="position:relative;z-index:1"></div> 
    <div data-aid="31" class="fc-event-data-container fc-status-2" style="position:absolute;top:0px;right:0;bottom:-62px;left:0;z-index:1"> 
     <div class="fc-event-data-box"> 
      <a class="fc-time-grid-event fc-event fc-start fc-end evnt-1419408000000" style="top: 0px; bottom: -62px; z-index: 1; left: 0%; right: 0%;"> 
       <div class="fc-content"> 
        <div class="fc-time" data-start="8:00" data-full="8:00 AM - 8:30 AM" style="display:none;"> 
         <span>8:00 - 8:30</span> 
        </div> 
        <div class="fc-title">Robot-FN</div> 
        <span class="fc-product">Home Loans</span> 
       </div> 
       <div class="fc-bg"></div> 
      </a> 
     </div> 
    </div> 
</div> 
+0

вы можете добавить HTML элемента? – Elisha

+0

добавил html к вопросу – Cooperisduhace

+0

Что должно произойти, когда вы нажмете на него? у вас есть javascript, который обрабатывает его, или вы хотите нажать на тег ? – Elisha

ответ

1

Я не уверен, что это то, что вы пытаетесь, но если вы хотите, чтобы нажать на <a> тег (который кликабельна), то , вам необходимо удерживать этот элемент, а не <div>, который содержит его.

попытаться Somthing так: (я не пробовал это так XPath воспримет это как общая идея)

element = self._current_browser().find_element_by_xpath("//*[@data-aid=\"%s\"]//a" % appt_id) 
+0

Спасибо, человек! он, наконец, работал! Ура! – Cooperisduhace

Смежные вопросы