【问题标题】:How to identify the radio button in selenium, if id and name have the same value如果 id 和 name 具有相同的值,如何识别 selenium 中的单选按钮
【发布时间】:2018-07-06 16:42:41
【问题描述】:

我试图让 Selenium 单击一个单选按钮。 Selenium 无法选择任何单选按钮,因为单选按钮的 id 和 name 相同。

我在下面添加html 代码:

<label for="gender">Gender</label>
<input id="gender " name="gender" value="M" type="radio"/>
  Male    
<input id="gender " name="gender" value="F" type="radio"/>
  Female
<label class="error" for="gender"/>

【问题讨论】:

  • 请分享您尝试单击的单选按钮的 html。
  • @jainishkapadia,不知何故我看不到它。我尝试重新加载,但没有成功。

标签: selenium-webdriver radio-button


【解决方案1】:

试试下面的代码。

如果你想点击Male,然后使用下面的代码使用xpath定位器..

WebElement radio_male = driver.findElement(By.xpath("//input[@value='M']"));
radio_male.click();

或

如果您想点击Female 单选按钮,请使用下面的代码和xpath 定位器。

WebElement radio_female = driver.findElement(By.xpath("//input[@value='F']"));
radio_female.click();

xpath的解释:-使用&lt;input&gt;标签的value属性。

【讨论】:

    【解决方案2】:

    Boolean btnSelected = odriver.findElement(By.id("enrollUserOptionsDiv")).isSelected();
                        if(btnSelected = true){
                            if(odriver.findElement(By.xpath("//input[@value=\"No\"]")).isSelected())
                            {
                                System.out.println( odriver.findElement(By.xpath("//input[@value=\"No\"]")).isSelected());
                                odriver.findElement(By.xpath("//input[@value=\"Yes\"]")).click();} //fails at this line
    

    【讨论】:

    • 我将最后一行替换为:List oRadioButton = odriver. findElements(By.id("newUserId")); ((WebElement) oRadioButton.get(0)).click();
    猜你喜欢
    • 2020-07-25
    • 2021-05-11
    • 1970-01-01
    • 2016-08-19
    • 2016-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-26
    相关资源
    最近更新 更多