如何获取selenium webdriver中复选框对应的文本?

时间:2015-11-26 07:17:59

标签: java selenium checkbox selenium-webdriver

我使用selenium webdriver来运行脚本。

我有一个场景,我想抓住与复选框相对应的文字。

对于单个复选框,我使用getAttribute()捕获下面代码中给出的文本,并且工作正常。

String referenceIn3DPage=Driver.driver.findElement(By.xpath("//div[3][@class='some-class']//input")).getAttribute("id"); 

在findElements()的情况下,getAttribute是否无效?

如何捕获多个复选框的文本?

复选框的屏幕截图: enter image description here

HTML屏幕截图:

enter image description here

正如您在屏幕截图中看到的,我希望属性 - id能够捕获我的文本。

3 个答案:

答案 0 :(得分:1)

请使用 value 参数获取复选框的文字:

String referenceIn3DPage=Driver.driver.findElement(By.xpath("//div[3][@class='some-class']//input")).getAttribute("value");

输出: OSCP120 [如果给出xpath是第一个复选框]

答案 1 :(得分:1)

只需从您那里获取另一个question的代码并进行修改。

String referenceIn3DPage =null;
int count=Driver.driver.findElements(By.xpath("//div[3][@class='viewer3d-demo-commercial-references-checkboxes']//input")).size();
System.out.println("the count="+count);

for(int i=1;i<=count;i++)
{
  referenceIn3DPage=Driver.driver.findElement(By.xpath("//div[3][@class='viewer3d-demo-commercial-references-checkboxes']/div["+i+"]/label/input")).getAttribute("id"); 
  System.out.println("the value in 3d= "+referenceIn3DPage);
}

请运行上面的代码并告诉我它是否能为您提供预期的结果。

答案 2 :(得分:0)

您可以尝试:.getAttribute("value");