按标签选中复选框,不带xpath选项

时间:2011-10-27 17:24:27

标签: java css selenium webdriver

在我们的应用程序中,我们在一个div下面有复选框,所以我不能选择 任何特定复选框的CSS。我们将在android上运行ame测试 浏览器也不想使用xpath来定位元素。 请帮我找到一种按标签找到复选框的方法。

这是我使用列表编写第一个报价的示例代码 css类:

列表select1 = driver.findElements(By.cssSelector(“。offer”)); //。offer是css for offer Class
driver.findElement((By)select1.get(0))。click(); //想要点击第一个元素

java.lang.ClassCastException:org.openqa.selenium.firefox.FirefoxWebElement无法强制转换为org.openqa.selenium.By     at com.pontiflex.webview.browser.MultiofferPageTests.withoutOffer(MultiofferPageTests.java:22)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)     在java.lang.reflect.Method.invoke(Method.java:597)     在org.junit.runners.model.FrameworkMethod $ 1.runReflectiveCall(FrameworkMethod.java:44)     在org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)     在org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)     在org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)     在org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)     在org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)     在org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)     在org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)     在org.junit.runners.ParentRunner $ 3.run(ParentRunner.java:193)     在org.junit.runners.ParentRunner $ 1.schedule(ParentRunner.java:52)     在org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)     在org.junit.runners.ParentRunner.access $ 000(ParentRunner.java:42)     在org.junit.runners.ParentRunner $ 2.evaluate(ParentRunner.java:184)     在org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)     在org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)     在org.junit.runners.ParentRunner.run(ParentRunner.java:236)     在org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)     在org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)     在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)     在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)     在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)     在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

场景是我们有一个我们都提供显示的报价类 与不同的标签和checkbob,我必须选择任何具体的 复选框。我试过上面的代码给了我以下错误

任何解决方案????

由于 RP

1 个答案:

答案 0 :(得分:3)

为什么不做这样的事情

List<WebElement> select1 = driver.findElements(By.cssSelector("div[class='offer'] input[type='checkbox']"));
select1.get(0).click();