2013-04-10 5 views
14

सेलेनियम आईडीई का उपयोग करके आंशिक आईडी और शीर्षक वाले आंशिक आईडी वाले शीर्षक पर क्लिक करें, मैं आंशिक आईडी और तत्व से शीर्षक के साथ XPath का उपयोग करके किसी वेबपृष्ठ पर किसी तालिका में किसी तालिका के अंदर एक बटन क्लिक करने का प्रयास कर रहा हूं। XPath मैं उपयोग कर रहा हूँ है:सेलेनियम आईडीई

xpath=//*[contains(@id, 'ctl00_btnAircraftMapCell')]//*[contains(@title, 'Select Seat')] 

और बटन का एक उदाहरण के लिए संपूर्ण HTML कोड thats क्लिक करने की कोशिश कर IM:

<li id="ctl00_MainContent_repAircraftMap_ctl20_repAircraftMapRow‌​_ctl00_liAircraftMap‌​Cell" class=""> 
    <a id="ctl00_MainContent_repAircraftMap_ctl20_repAircraftMapRow‌​_ctl00_btnAircraftMa‌​pCell" href="javascript:void(0)" seatnumber="20A" mapbindattribute="1124" title="Select Seat 20A" onclick="SeatClick(1124);"></a> 
</li> 

मैं इस गलत तरीके से निर्माण कर रहा हूं? यह काम नहीं कर रहा है!

+0

उस बटन के HTML को साझा करें – Amey

+0

यदि आप यहां कोड प्रारूपित कर सकते हैं, और जितना संभव हो सके पठनीय प्रश्नों के साथ उचित देखभाल लेते हैं, तो प्रयास की अक्सर सराहना की जाती है। – halfer

+0

  • MikeH

    उत्तर

    35

    अब जब आपने अपना HTML नमूना प्रदान किया है, तो हम देख सकते हैं कि आपका XPath थोड़ा गलत है। हालांकि यह वैध XPath है, यह तार्किक रूप से गलत है।

    आप मिल गया है:

    //*[contains(@id, 'ctl00_btnAircraftMapCell')]//*[contains(@title, 'Select Seat')] 
    

    कौन सा में तब्दील हो:

    मुझे सभी तत्वों है कि एक ID कि ctl00_btnAircraftMapCell शामिल है प्राप्त करें। इन तत्वों में से, कोई बच्चे तत्व जिनके पास title है जिसमें Select Seat है।

    क्या आप वास्तव में चाहते हैं:

    //a[contains(@id, 'ctl00_btnAircraftMapCell') and contains(@title, 'Select Seat')] 
    

    कौन सा में तब्दील हो: एक id कि ctl00_btnAircraftMapCell और एक में शामिल हैं:

    मुझे सभीलंगर तत्वों कि दोनों जाओ title जिसमें Select Seat शामिल है।

    +1

    जिसने काम किया है, मदद के लिए धन्यवाद। – MikeH

    +1

    यह एक उत्कृष्ट समझाया गया उत्तर है। – tpow

    +2

    यह संभवतः ढेर अतिप्रवाह पर सबसे अच्छा समझाया गया उत्तर है! मुझे कभी नहीं पता था कि आप "और" जैसे एक्सपैथ अभिव्यक्ति में कर चुके हैं, इसके लिए धन्यवाद – dmeehan

    संबंधित मुद्दे