[英]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.