2010-12-20 17 views
9

के साथ विशिष्ट तालिका पंक्तियों तक पहुँचने के लिए CSS चयनकर्ताओं का उपयोग करते हुए, तो मेरे पास है निम्न HTML:सेलेनियम

<tbody id="items"> 
<tr><td>Item 1</td></tr> 
<tr><td>Item 2</td></tr> 
<tr><td>Item 3</td></tr> 
<tr><td>Item 4</td></tr> 
<tr><td>Item 5</td></tr> 
<tr><td>Item 6</td></tr> 
</tbody> 

मैं कैसे आइटम 4 उपयोग करने के लिए सेलेनियम के साथ CSS चयनकर्ताओं का उपयोग होता है (या वास्तव में किसी भी आइटम मैं चाहता था)?

उत्तर

16

आप वें वाले बच्चे का भी उपयोग करेंगे http://jsfiddle.net/Flack/G8QPB/

लेकिन कोई पता नहीं है अगर यह सेलेनियम के साथ काम करता है।

लेकिन दस्तावेज़ों के मुताबिक इसे करना चाहिए।

वर्तमान में सीएसएस चयनकर्ता लोकेटर css3 में नाम स्थान को छोड़कर सभी सीएसएस 1 सीएसएस 2 और css3 चयनकर्ताओं का समर्थन करता है, कुछ छद्म वर्गों (: n वें के- प्रकार,: n वें-पिछले के- प्रकार,: पहला ऑफ-द-प्रकार ,: अंतिम प्रकार का, केवल प्रकार का,: विज़िट किया गया: होवर, सक्रिय, फोकस,: अनिश्चित) और छद्म तत्व (:: प्रथम-पंक्ति, :: प्रथम-अक्षर, :: चयन, ::पहले बादमे)।

+0

मैंने इसका पता नहीं लगाया है, लेकिन सीएसएस में 'nth-child()' चयनकर्ता शून्य-आधारित नहीं है? (मेरी समझ यह है कि चौथी पंक्ति ': nth: child (3)' होगी, हालांकि मैं निश्चित रूप से पूरी तरह से गलत हो सकता था।) –

+0

अच्छा, लाइव उदाहरण सही तरीके से काम करता है। – Flack

+1

http://www.w3.org/TR/css3-selectors/#nth-child-pseudo "तत्व के पहले बच्चे की अनुक्रमणिका 1 है"। – Flack

0

क्या आप सामग्री ("आइटम 4") द्वारा चयन करना चाहते हैं? स्थिति (4 वें पंक्ति) द्वारा? या <tr id="foo"> है और tr # foo> td एक विकल्प का चयन कर रहा है?

#items tr:nth-child(4) {color:#F00;} 

लाइव उदाहरण:

+1

केवल बिना जोड़ दिए एनई अतिरिक्त एचटीएमएल – wierddemon

0
selenium.getText("css=table>tbody[id=items]>tr:nth-child(3)>td(3)"); 
0

आप अलग अलग तरीके का एक संख्या में xpath इस्तेमाल कर सकते हैं यह पता लगाने के लिए, लेकिन सबसे आसान है:

//td[text()='Item 4']