Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取SeleniumWebDriver中对应于复选框的文本?_Java_Selenium_Checkbox_Selenium Webdriver - Fatal编程技术网

Java 如何获取SeleniumWebDriver中对应于复选框的文本?

Java 如何获取SeleniumWebDriver中对应于复选框的文本?,java,selenium,checkbox,selenium-webdriver,Java,Selenium,Checkbox,Selenium Webdriver,我正在使用SeleniumWebDriver运行脚本 我有一个场景,我想抓取对应于复选框的文本 对于一个复选框,我使用getAttribute()捕获下面代码中给出的文本,它工作正常 String referenceIn3DPage=Driver.driver.findElement(By.xpath("//div[3][@class='some-class']//input")).getAttribute("id"); 对于findElements(),getAttribute是否无效 如

我正在使用SeleniumWebDriver运行脚本

我有一个场景,我想抓取对应于复选框的文本

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

String referenceIn3DPage=Driver.driver.findElement(By.xpath("//div[3][@class='some-class']//input")).getAttribute("id"); 
对于findElements(),getAttribute是否无效

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

复选框的屏幕截图:

HTML屏幕截图:


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

您可以尝试:
.getAttribute(“值”)

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

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

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

只需从另一个用户那里获取代码并对其进行修改即可

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);
}
String referenceIn3DPage=null;
int count=Driver.Driver.findElements(By.xpath(“//div[3][@class='viewer3d-demo-commercial-references-checkbox']///input”).size();
System.out.println(“计数=”+count);

对于(int i=1;i需要与所有复选框相对应的文本列表,而不是特定复选框的文本列表。我需要类似OSCP120、PCFD030等值。然后您将使用列表而不是单个字符串进行迭代。您可以详细说明吗?使用size(),我找到了复选框的计数。现在,问题是如何将referenceIn3DPage从1迭代到9?
int count=Driver.Driver.findElements(By.xpath(//div[3][@class='some-class']]]//input”).size();System.out.println(“count=“+count”);对于(int i=1;计数返回9。非常感谢@Manu。代码运行良好。我在计算xpath时出错了。欢迎!是的,您做得很好,只是输入错误:)