簡體   English   中英

單選按鈕的Xpath不起作用:Xpath無法單擊?

[英]Xpath of Radio button is not working: Xpath is not clickable?

我正在嘗試獲取代碼的Xpath,但其顯示不可點擊。 我在chrome控制台中嘗試過,以某種方式使xpath可單擊,但不知道如何在硒代碼中使用xpath。

在chrome控制台中,如果您這樣編寫,它將起作用

$x("//*[@id='no-voucher-id']")[0].click()

這是我的代碼:

 @FindBy(xpath = "//input[@id='no-voucher-id']")
 private lateinit var selectedNoVoucher: FluentList<FluentWebElement>

 selectedNoVoucher.click();

HTML代碼:

<div className="Voucher-container-section" >
  <div className="radio-item">
   <input type="radio" id="yes-voucher-id" name="voucher" value="Yes"/> 
   <label For="yes-voucher-id">Yes</label>
  </div>
  <div className="radio-item">
   <input type="radio" id="no-voucher-id" name="voucher" value="No"/>
  <label htmlFor="no-voucher-id">No</label>
</div>
</div>

css
.radio-item {
    display: inline-block;
    position: relative;
    padding: 0 6px;
    margin: 10px 0 0;
  }

  .radio-item input[type='radio'] {
    display: none;
  }

  .radio-item label {
    color: #FFFFFF;
    font-weight: normal;
  }

  .radio-item label:before {
    content: " ";
    display: inline-block;
    position: relative;
    top: 5px;
    margin: 0 5px 0 0;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    background-color: white;
  }

  .radio-item input[type=radio]:checked + label:after {
    border-radius: 11px;
    width: 12px;
    height: 12px;
    position: absolute;
    top: 9px;
    left: 10px;
    content: " ";
    display: block;
    background: #EE4823;
  }

錯誤信息:

org.openqa.selenium.TimeoutException:預期條件失敗:元素[[ChromeDriver:Ubuntu上的chrome]-> xpath:// input [@ id ='no-voucher-id']]不可點擊(嘗試15秒( s)間隔為500 MILLISECONDS)

我希望輸出是單選按鈕應該是可點擊的

如果元素在視點中,則可以使用以下選擇器:

我建議您在xpath或任何其他定位器上使用ID

用於單擊單選按鈕: yes-voucher-id

@FindBy(id="yes-voucher-id")
var selectedNoVoucher

selectedNoVoucher.click();  

只要確保ID是唯一的即可。

您可以通過類似的方式將ID替換為No按鈕。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM