繁体   English   中英

如何使用Selenium和Java通过Label定位和单击单选按钮

[英]How to locate and click Radio Button through the Label using Selenium and Java

我想取消选中默认情况下检查但我收到错误的网页上的单选按钮

“线程中的异常”主“org.openqa.selenium.ElementNotVisibleException:元素不可交互”

有人可以帮我纠正我正在尝试的代码吗?

WebElement travellerbutton = driver.findElement(By.xpath("//label[text()='Traveller']/preceding-sibling::input[@type='radio']"));
travellerbutton.click();

HTML:

<div class="radio">
    <input type="radio" name="tgselect" id="traveller" checked="">
    <label for="traveller">Traveller</label>
    <div class="check"></div>
</div>

可能有几个单选按钮,您需要选择另一个。 但万一,您可以使用JavaScript取消选中单选按钮,请尝试以下代码:

((JavascriptExecutor)driver).executeScript("arguments[0].checked=false;", driver.findElement(By.id("traveller")));

要在与<label>关联的元素上click() ,文本为Traveler,您可以使用以下任一定位器策略

  • cssSelector

     driver.findElement(By.cssSelector("label[for='Traveller']")).click(); 
  • xpath

     driver.findElement(By.xpath("//label[@for='Traveller']")).click(); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM