Checkbox 如何根据复选框旁边的文本识别并单击复选框-Selenium

Checkbox 如何根据复选框旁边的文本识别并单击复选框-Selenium,checkbox,Checkbox,我是stackoverflow&test automation世界的新手,请善待我 这里的问题是,我试图根据旁边的文本点击复选框,即如果文本是“死亡证书”(在图片中),则点击第一个复选框,即根据旁边的文本点击 我不知道怎么做&这里需要帮助 这里的问题是你不需要这样做。因为“死亡证明”旁边的复选框明显位于“死亡证明”文本的前面。与“ID文档”旁边的复选框相同,“ID文档”明显位于文本“ID文档”的前面。因此,根据您的要求,您必须选中“死亡证书”文本旁边的复选框。只需使用firepath找到复选框,

我是stackoverflow&test automation世界的新手,请善待我

这里的问题是,我试图根据旁边的文本点击复选框,即如果文本是“死亡证书”(在图片中),则点击第一个复选框,即根据旁边的文本点击

我不知道怎么做&这里需要帮助


这里的问题是你不需要这样做。因为“死亡证明”旁边的复选框明显位于“死亡证明”文本的前面。与“ID文档”旁边的复选框相同,“ID文档”明显位于文本“ID文档”的前面。因此,根据您的要求,您必须选中“死亡证书”文本旁边的复选框。只需使用firepath找到复选框,然后单击它。因此,代码必须与此类似

driver.findElement(By.xpath("xpath of the checkbox")).click();
如果需要,您可以在此处查看是否使用条件选择它。 Ex如果未选中“死亡证书”复选框,请单击该复选框。这就是如何做到的

if(!driver.findElement(By.xpath("xpath")).isSelected()){
    driver.findElement(By.xpath("xpath")).click();
}

然后你必须先找到文本

String textValue = driver.findElement(By.className("container-fluid-label-required")).getText();

if(textValue.equals("Death Certificate")){
     driver.findElement(By.xpath("xpath of the checkbox")).click();
}
else{
       //Do stuff
}

现在,它首先检查div元素中的文本是否为“death certificate”,如果它等于“death certificate”,则单击复选框。希望这就是你想要的答案

感谢@Lalindra的解释,这里的问题是复选框旁边文本的顺序是动态的,即我不确定在另一个场景中“死亡证书”将出现在下一个位置(它可能位于第二位,因此希望找到死亡证书文本,然后单击它旁边的复选框)。