我使用selenium webdriver来运行脚本。
我有一个场景,我想抓住与复选框相对应的文字。
对于单个复选框,我使用getAttribute()捕获下面代码中给出的文本,并且工作正常。
String referenceIn3DPage=Driver.driver.findElement(By.xpath("//div[3][@class='some-class']//input")).getAttribute("id");
在findElements()的情况下,getAttribute是否无效?
如何捕获多个复选框的文本?
HTML屏幕截图:
正如您在屏幕截图中看到的,我希望属性 - id能够捕获我的文本。
答案 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");