2011-04-04 16 views
16

द्वारा किसी ऑब्जेक्ट का चयन कैसे करें मेरे पास एक फॉर्म वाला एक वेब पेज है और इसमें एक फ़ील्ड है जो jquery autocomplete फ़ंक्शन का उपयोग करता है।सेलेनियम कक्षा

enter image description here

यह एक उपयोगकर्ता नाम देता है 1 या अधिक परिणाम के बाद कैसे एचटीएमएल renders है।

हालांकि मैं यह नहीं समझ सकता कि सेलेनियम को "क्लिक" परिणाम कैसे बनाया जाए।

enter image description here

मैं चयनकर्ता के एक jQuery प्रकार कर सकते हैं। उदा।

$(".ul.ui-autocomplete li:first a") 

उत्तर

19

सेलेनियम में उपयोग XPath चयनकर्ता:

xpath=//li[contains(@class, 'ui-autocomplete')]/li[1]/a 

की जाँच नहीं की, कुछ सुधार की आवश्यकता हो सकती। इस

xpath=/html/body/ul[2]/li[1]/a 
+0

हे टॉमसज़ क्या मैं इसे सीधे "लक्ष्य" फ़ील्ड में डालता हूं? क्या मुझे कुछ और करने की ज़रूरत है? – aron

+4

हां, यह काम करना चाहिए। कृपया * एलिमेंट लोकेटर * अध्याय में एक नज़र डालें: http://release.seleniumhq.org/selenium-core/1.0.1/reference.html –

+0

धन्यवाद टॉमस, यह काम किया! XPath बहुत शक्तिशाली है :) – aron

0

अगला जिस तरह से आप एक गतिशील XPATH है तो आप इस

driver.findElement की तरह एक तत्व (By.className ("")) को इंगित कर सकते हैं मान लीजिए;

0

तरह xpath का उपयोग करने के

2

"क्या मैं एक jQuery प्रकार का चयनकर्ता कर सकता हूं" के जवाब में jQuery jQuery चयनकर्ताओं का उपयोग करता है। सेलेनियम सीएसएस चयनकर्ताओं का भी उपयोग कर सकते हैं; बस चयनकर्ता को "css =" के साथ उपसर्ग करें। इसलिए:

css=.ul.ui-autocomplete li:first a 
+3

कृपया इसे और स्पष्टीकरण की आवश्यकता है। – Jost