Java 如果两个值相同,则无法找到任一单选按钮
我是一个学习硒的新手,请帮我找到一个单选按钮 当我尝试单击收音机按钮静态或动态时,我无法单击其中一个或那些按钮 我使用Xpath尝试了以下命令。但没有一个成功 1//输入[@type='radio'和@value='on'][1] 2//p[text='Static'] 已尝试的命令:Java 如果两个值相同,则无法找到任一单选按钮,java,selenium,selenium-webdriver,xpath,webdriverwait,Java,Selenium,Selenium Webdriver,Xpath,Webdriverwait,我是一个学习硒的新手,请帮我找到一个单选按钮 当我尝试单击收音机按钮静态或动态时,我无法单击其中一个或那些按钮 我使用Xpath尝试了以下命令。但没有一个成功 1//输入[@type='radio'和@value='on'][1] 2//p[text='Static'] 已尝试的命令: driver.findElement(By.xpath("//input[@type='radio' and @value='on'][1]")).click(); driver.findElement(By.x
driver.findElement(By.xpath("//input[@type='radio' and @value='on'][1]")).click();
driver.findElement(By.xpath("(//*[text()='Static'])[1]")).click();
driver.findElement(By.xpath("//p[text()='Static']")).click();
从开发人员工具获得的单选按钮的HTML脚本:
<div class="Radio__radio___1xD3w" style="display: inline-block; margin-right: 36px; margin-top: 10px;"> ==$0
<input type="radio" class="Radio__radio-btn___E4u40" name="" value="on"><p class="Radio__radio-label___26Ok6">Static</p>
</div>
<div class="Radio__radio___1xD3w" style="display: inline-block; margin-top: 10px;">==$0
<input type="radio" class="Radio__radio-btn___E4u40" name="" value="on">
<p class="Radio__radio-label___26Ok6">Dynamic</p></div>
由于与文本Static关联的单选按钮是一个要调用的动态元素,请单击它,您需要导入WebDriverWait,并且可以使用以下解决方案:
xpath:
你有例外吗?分享
driver.findElement(By.xpath("(//*[text()='Static'])[1]")).click();
driver.findElement(By.xpath("//p[text()='Static']")).click();
driver.findElement(By.xpath("//input[@type='radio' and @value='on'][1]")).click();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//p[starts-with(@class,'Radio__radio-label___') and contains(., 'Static')]//preceding::input[1]"))).click();