簡體   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