[英]Unable to locate element using ID, XPath and CSS Selector
我在 C# 中使用 atata 框架。 我正在嘗試定位 web 元素以選擇所有行,但 Id、CSS Path 或 XPath 都無法找到。
我使用過 ID、XPath 和 CSS 選擇器
[FindById("com.kronos.wfc.ngui.genies.selectall")]
public Button<_> SelectAllRows { get; private set; }
[FindByXPath("div[@id=com.kronos.wfc.ngui.genies.selectall]")]
public Button<_> SelectAllRows { get; private set; }
我的頁面對象應該被定位。 路徑詳情如下:
元素:
<div class="widget-button btn-group margin-mini shrinkable" title="Select All Rows"
id="com.kronos.wfc.ngui.genies.selectall" style="display: inline-block;">
<div class="top-bar"><span></span></div>
<button type="button" class="btn btn-rounded widget-button-icon" id="com.kronos.wfc.ngui.genies.selectall_btn">
<i class="icon-k-select-all"></i></button><div class="icon-label"><span>Select All Rows</span></div></div>
選擇器:#com.kronos.wfc.ngui.genies.selectall
XPath: //*[@id="com.kronos.wfc.ngui.genies.selectall"]
對於第一個<div>
元素:
<div class="widget-button btn-group margin-mini shrinkable" title="Select All Rows" id="com.kronos.wfc.ngui.genies.selectall" style="display: inline-block;">
因為它是一個div
,而不是一個button
元素,所以使用一般的 puprose Control
類型:
[FindById("com.kronos.wfc.ngui.genies.selectall")] public Control<_> SelectAllRows { get; private set; }
對於第二個<button>
元素:
<button type="button" class="btn btn-rounded widget-button-icon" id="com.kronos.wfc.ngui.genies.selectall_btn">
如果它實際上是可見的,則以下內容應該找到該元素:
[FindById("com.kronos.wfc.ngui.genies.selectall_btn")] public Button<_> SelectAllRows { get; private set; }
如果元素不可見:
[FindById("com.kronos.wfc.ngui.genies.selectall_btn", Visibility = Visibility.Any)] public Button<_> SelectAllRows { get; private set; }
無論如何,弄清楚哪個元素實際上是可見的並且應該與之交互。
我認為您應該在button
元素而不是div
元素上執行單擊操作。 試試下面的代碼:
[FindById("com.kronos.wfc.ngui.genies.selectall_btn")]
public Button<_> SelectAllRows { get; private set; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.