java - 如何使用 selenium Webdriver 单击单选按钮?

标签 java selenium xpath radio-button webdriverwait

在下面的代码中,无法使用 xpath 和 id 来单击或获取单选按钮的文本。

请帮我执行以上操作。

<section class="col-md-12 mb5">
    <div class="well well-cust">
        <label class="radio-inline pl0">
            <input type="radio" name="project_task" value="A" onclick="Javascript:projtasks();" id="radio1">&nbsp;&nbsp;Projects Tasks</label>
        <label class="radio-inline">
            <input type="radio" name="project_task" value="B" onclick="nonprojtasks(); " id="radio2">&nbsp;&nbsp;Non Projects Tasks</label>
        <label class="radio-inline">
            <input type="radio" name="project_task" value="C" checked="checked" onclick="assignedTasks();" id="radio3">&nbsp;&nbsp;Assigned Tasks</label>
        <label class="radio-inline">
            <input type="radio" name="project_task" value="D" onclick="issueAssigned(); " id="radio4">&nbsp;&nbsp;Issues Assigned</label>
    </div>      
</section>

尝试同时使用 xpath 和 id 单击该元素。

我尝试使用以下代码:

//Import data for Radiobutton
String Radiobutton_val = formatter.formatCellValue(sheet.getRow(i).getCell(1));
System.out.println("Radio button 1 = "+driver.findElement(By.xpath("//*[@id=\"radio1\"]")).getText());
System.out.println("Radio button 2 = "+driver.findElement(By.xpath("//*[@id=\"radio2\"]")).getText());

if(driver.findElement(By.id("radio1")).getText().equals(Radiobutton_val)) {
    driver.findElement(By.xpath("//*[@id=\"radio1\"]")).click();
} else if(driver.findElement(By.id("radio2")).getText().equals(Radiobutton_val)){
    driver.findElement(By.xpath("//*[@id=\"radio2\"]")).click();
}

我希望它应该 getText 的单选按钮&基于 getText 值,它应该单击指定的单选按钮

最佳答案

我猜您的 getText 调用返回的不是预期的字符串? 您应该检查父标签的文本。尝试以下操作:

if(driver.findElement(By.xpath("//*[@id='radio1']//..")).getText().equals(Radiobutton_val)) {                
    driver.findElement(By.xpath("//*[@id='radio1']")).click();
} 

关于java - 如何使用 selenium Webdriver 单击单选按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58073723/

相关文章:

java - 通过键jsonarray获取值

java - 一个套接字,多个http请求,不同的主机头但服务器返回缓存的主机头

java - 获取所选文件java的路径

java - 将 3 channel (BGR) 矩阵转换为 4 channel (ABGR) 矩阵

python-3.x - 如何使用selenium重新连接到webdriver打开的浏览器?

java - 如何使用数据提供程序中的字符串列表运行测试 - Testng

Java Selenium 2.0 - 在 WebElement .click() 之前使用内置滚动时处理 z-index (navi)

java - selenium webdriver 中 xpath 的区别?

python-3.x - XPATH:使用 .find_elements_by_xpath 为未知数量的 xpath 输入值

带有 DOMDocument 或 SimpleXML 的 xpath 结果上的 PHP xpath