我希望能够根据用户输入选择一个单选按钮。这个单选按钮有多个同名的选项。
<th class="radio">
<td>
<label for="form-1-input-3">
<input id="form-1-input-3" type="radio" checked="" value="true" name="enabled">
Enabled
</label>
<label for="form-1-input-4">
<input id="form-1-input-4" type="radio" value="false" name="enabled">
Disabled
</label>
如果“启用”作为字符串传递,我应该能够选择具有可见文本的第一个单选按钮,启用,如果“禁用”作为字符串传递,我应该能够选择具有可见文本的单选按钮, 残疾。
由于单选按钮的名称相同,我遇到了困难。下面的代码无法为 Xpath 找到带有 AND 运算符的元素。有没有人遇到过这个问题并找到了解决方案?
String enableRadioButtonXPath = "//input[contains(@id,'form-') and contains(@value, 'enabled')]";
String enableRadioButtonOption = "enabled";
String disableRadioButtonOption = "disabled";
WebElement enableRadioButton = webdriver1.findElement(By.name(enableRadioButtonOption));
enableRadioButton.click();
最佳答案
这个逻辑可能对你有用。
要选择第一个单选按钮,请在定位器下方使用
driver.findElement(By.xpath("//label[contains(.,'Enable')]/input")).click();
用于选择具有禁用文本的第二个单选按钮
driver.findElement(By.xpath("//label[contains(.,'Disable')]/input")).click();
关于selenium-webdriver - 在 Selenium Webdriver 中根据用户输入选择单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14849015/