【发布时间】:2014-10-09 13:17:02
【问题描述】:
我对 selenium 很陌生,我只想知道如何使用以下 html 选择单选按钮:
HTML 代码:
<div ng-class={'selected':profile.info.carUnder20k==false||profile.info.carUnder20k=='false'}" ng-click="onChoice($event, 'carUnder20k', 'false');" data-field="carUnder20k" class="choice selected" style="">N</div>
抱歉,多行不起作用...
我想选择这个元素,但我不想使用它的 XPATH。在 selenium 中有没有一种方法可以通过 data-(anything) 属性选择一个元素?在这种情况下,它是 data-field="carUnder20K"。还是这个元素独有的东西?
Java 代码:(这是我现在正在做的,但使用的是自定义框架,它可以工作但非常不可读。)
WebDriver driver = new FireFoxDriver();
driver.findElement(By.xpath("/html/body/div[2]/div/div/div[1]/form/div/section[1]/div[6]/div[2]/select/option[@value='0']")).click();
我也试过了:
driver.ElementByDivText("N").click();
但是还有另一个元素几乎与这个相同,只是这里的数据字段不同。所以 WebDriver 只是重新点击我已经点击过的另一个元素,而不是我想要选择的新元素。
那里有硒向导吗?
编辑:
抱歉,我忘了每个按钮都有自己的 HTML
是按钮/收音机:
<div ng-class="{'selected':profile.info.carUnder20k==true||profile.info.carUnder20k=='true'}" ng-click="onChoice($event, 'carUnder20k', 'true');" data-field="carUnder20k" class="choice" style="">Y</div>
没有按钮/收音机:
<div ng-class="{'selected':profile.info.carUnder20k==false||profile.info.carUnder20k=='false'}" ng-click="onChoice($event, 'carUnder20k', 'false');" data-field="carUnder20k" class="choice selected" style="">N</div>
【问题讨论】:
标签: java html selenium automation qa