यह सब अपने HTML वास्तव में इसमें इस बात पर निर्भर करता है, लेकिन अपने tr[contains(.,'hello')]/td
XPath चयनकर्ता (या, और अधिक सही, "" पहली पंक्ति स्ट्रिंग 'हैलो' के भीतर कहीं भी यह शामिल के प्रथम कक्ष "का अर्थ है टीआर तत्व में पहला टीडी तत्व जिसमें के भीतर कहीं भी स्ट्रिंग 'हैलो' होता है, क्योंकि सेलेनियम को पता नहीं है कि तत्व वास्तव में क्या करते हैं)। यही कारण है कि जब "हैलो" और "हैलो 1" वाली पंक्तियां होती हैं तो गलत परिणाम मिल रहा है - दोनों में "हैलो" होता है।
चयनकर्ता tr[. ='hello']/td
अधिक सटीक होगा, लेकिन यह थोड़ा असामान्य है (क्योंकि एचटीएमएल टीआर तत्वों में टेक्स्ट नहीं होना चाहिए - टेक्स्ट टीआर के भीतर TH या TD तत्वों में होना चाहिए), और शायद यह जीता काम नहीं करते (क्योंकि किसी अन्य कोशिका में पाठ तुलना तोड़ देगा)। आप शायद चाहतेtr[td[.='hello']]/td
, जिसका अर्थ है "पहले टीडी तत्व टी.आर. तत्व है कि एक टीडी तत्व स्ट्रिंग 'हैलो' के रूप में यह पूरा पाठ है है कि शामिल है में निहित"।
स्रोत
2011-10-14 12:34:52
"ठीक से काम नहीं करता" के साथ आपका क्या मतलब है? अप्रत्याशित व्यवहार क्या है? –
यदि हमारे पास टेक्स्ट हैलो और हैलो 1 के साथ दो तत्व हैं और जब हम उपयोग करते हैं (।, 'हैलो') तो यह विधि हमेशा हैलो की तलाश करेगी। समस्या अगर ये तत्व एक टेबल में हैं और हैलो 1 पहला तत्व है और हैलो दूसरा है और जब हम उपयोग करते हैं तो हैलो यह हमेशा हैलो 1 को इंगित करेगा क्योंकि यह पहला तत्व है और इसमें हैलो है लेकिन हम हैलो खोजना चाहते हैं कि मुझे सटीक क्यों चाहिए मिलान विधि –