selenium-webdriver - 在 Selenium Webdriver 中根据用户输入选择单选按钮

标签 selenium-webdriver

我希望能够根据用户输入选择一个单选按钮。这个单选按钮有多个同名的选项。

<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/

相关文章:

ruby - Selenium-Webdriver:找到元素后获取属性

python - 使用 splitter 写入 html body

selenium - 如何从 HTML 表格的每个单元格中获取文本?

java - 如何抑制 "protocol handler"弹出匿名\隐身 Chrome ?

python - 机器人框架 : Suite Teardown fails when using Close All Browsers

java - 如何在 testNG 报告中包含失败屏幕截图

java - 通知(警报)在 selenium webdriver 的整个应用程序中随机出现

selenium - 从链接获取文本 - selenium python

java - Selenium WebDriver 中的自定义隐式等待加载页面消失

python - 使用 Selenium 从网页中获取所有可见文本