為單選按鈕定義的 ID
<tr _ngcontent-icx-c221="" class="ng-star-inserted" style=""><td _ngcontent-icx-c221="" style="width: 4rem; border-width: 1px; text-align: center;"><div _ngcontent-icx-c221="" class="flex justify-content-start align-items-center ng-star-inserted"><p-radiobutton _ngcontent-icx-c221="" name="produktRisiko" class="mr-1 ng-untouched ng-pristine ng-valid" ng-reflect-name="produktRisiko" ng-reflect-input-id="produktRisiko_7" ng-reflect-value="8" ng-reflect-model="4"><div ng-reflect-ng-class="[object Object]" class="p-radiobutton p-component"><div class="p-hidden-accessible"><input type="radio" id="produktRisiko_7" name="produktRisiko" value="8" aria-checked="false"></div><div ng-reflect-ng-class="[object Object]" class="p-radiobutton-box"><span class="p-radiobutton-icon"></span></div></div><!--bindings={}--></p-radiobutton><span _ngcontent-icx-c221="" class="flex align-items-center">6</span></div><!--bindings={
"ng-reflect-ng-if": "true"
}--></td><td _ngcontent-icx-c221="" style="border-width: 1px;"> Consequential damage on main parts, (repairable on location with </td></tr>
我的代碼是:
wait.until(ExpectedConditions.elementToBeClickable(By.id("produktRisiko_7"))).click();
錯誤:
Expected condition failed: waiting for element to be clickable: By.id: produktRisiko_7 (tried for 50 second(s) with 500 milliseconds interval)
uj5u.com熱心網友回復:
我相信你的問題是我懷疑的。您的單選按鈕不可點擊,因為它被禁用(隱藏)。您的單選按鈕元素被隱藏的 div 包圍:
<div class="p-hidden-accessible">
<input type="radio" id="produktRisiko_7" name="produktRisiko" value="8" aria-checked="false">
</div>
我不確定你要做什么,但你必須弄清楚為什么這div是隱藏的。希望這能給你一些見解,但你需要更好地解釋你的問題。你想做什么?你真的能看到頁面上的按鈕嗎?如果您在頁面上看不到單選按鈕,則不應嘗試使用某種后門機制(即呼叫 JavaScript 命令)與組件互動,因為我假設這些測驗的目的是測驗人機互動。
uj5u.com熱心網友回復:
我用以下結構解決了我的問題。感謝您的關注
((JavascriptExecutor) driver).executeScript("document.getElementById('produktRisiko_7').click();");
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/376137.html
