में त्रुटि समर्थित नहीं हैं मेरे पास divs में तत्वों की संख्या गिनने और उनकी संख्या वापस करने के लिए एक तरीका है।कंपाउंड क्लास नाम वेबड्राइवर
public int getNumberOfOpenBets() {
openBetsSlip = driver.findElement(By.id("form_open_bets"));
openBets = openBetsSlip.findElements(By.className(" cashout_noCash"));
return openBets.size();
}
पेज स्रोत
<form id="form_open_bets" method="post" name="form_open_bets">
<input type="hidden" value="" name="action">
<input type="hidden" value="" name="bet_id">
<input type="hidden" value="" name="cashout_price">
<input id="target_page" type="hidden" value="" name="target_page">
<div id="By.id" class="slipWrapper ">
<div id="openBets_header"></div>
<div id="cashout_1626" class=" cashout_noCash">
<div id="cashout_1625" class=" cashout_noCash">
<div id="cashout_1615" class=" cashout_noCash">
<div id="cashout_1614" class=" cashout_noCash">
<div id="cashout_1613" class=" cashout_noCash">
</div>
WebDriver निम्न त्रुटि फेंक रहा है यही कारण है कि: यौगिक वर्ग नामों समर्थित नहीं हैं। एक वर्ग के नाम की खोज करने और परिणामों को फ़िल्टर करने या सीएसएस चयनकर्ताओं का उपयोग करने पर विचार करें।
org.openqa.selenium.InvalidSelectorException: Compound class names are not supported. Consider searching for one class name and filtering the results or use CSS selectors.
For documentation on this error, please visit: http://seleniumhq.org/exceptions/invalid_selector_exception.html
Build info: version: '2.31.0', revision: '1bd294d185a80fa4206dfeab80ba773c04ac33c0', time: '2013-02-27 13:51:26'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_17'
Driver info: driver.version: unknown
at org.openqa.selenium.By.className(By.java:131)
at elements.betslip.Betslip.getNumberOfOpenBets(Betslip.java:136)
at testSomething(SomethingTest.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
संपादित करें:
जैसा सामने आया WerbDriver वर्ग नामों में रिक्तियां का समर्थन नहीं करता, OMG। तत्वों को खोजने के लिए क्या आप कृपया इस सीट्यूशन में सीएसएस चयनकर्ता का उपयोग करने में मेरी मदद कर सकते हैं?
धन्यवाद जिम, पेज स्रोत लोकेटर, मैं सिर्फ devs :-) आप इस स्थिति में इस्तेमाल किया CSS चयनकर्ताओं का एक उदाहरण दे सकता है को मारने के लिए चाहता हूँ में रिक्तियों के साथ तत्वों के साथ भरा हुआ है? बहुत धन्यवाद, अटाना –
आपको अधिक जानकारी देने के लिए मेरा उत्तर अपडेट किया गया। आपके नमूना शो जैसे एकल वर्ग के साथ, आपको उस मामले में सीएसएस चयनकर्ताओं का उपयोग करने की आवश्यकता नहीं है; केवल एक ही कक्षा का उपयोग करें जिसे आप ** ** बिना अंतरिक्ष के ढूंढ रहे हैं। 'By.className (" cashout_noCash ")' (कक्षा के नाम में कोई रिक्त स्थान नोट करें)। – JimEvans