Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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 如果两个值相同,则无法找到任一单选按钮_Java_Selenium_Selenium Webdriver_Xpath_Webdriverwait - Fatal编程技术网

Java 如果两个值相同,则无法找到任一单选按钮

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

我是一个学习硒的新手,请帮我找到一个单选按钮

当我尝试单击收音机按钮静态或动态时,我无法单击其中一个或那些按钮 我使用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.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();