选择复选框时遇到问题



我页面上的复选框如下所示:

<td role="gridcell" style="width: 30px; padding:0;text-align: center;" class="ui-selection-column">
<div class="ui-chkbox ui-widget">
<div class="ui-helper-hidden-accessible"><input type="checkbox" name="dataTable_checkbox" aria-checked="false"></div>
<div class="ui-chkbox-box ui-widget ui-corner-all ui-state-default"><span class="ui-chkbox-icon ui-icon ui-c ui-icon-blank"></span></div>
</div>
</td>

它包含在 tbody 和 tr 数据中。

我正在尝试使用

.click('input[id="ui-chkbox ui-widget", type="checkbox"]')

我已经尝试使用.waitForElementVisible,但仍然无法选择它。

谢谢。

根据此处的代码:

.click('input[id="ui-chkbox ui-widget", type="checkbox"]')

您错误地将类ui-chkbox ui-widget标识为 id。在页面上找到该复选框的特定 ID(如果有(,然后使用该 ID 将其选中。页面上的 ID 特定于该元素。

.click('#youridhere')

或者,使用 Xpath 并按包含任何文本的路径选择它。

.click("//*[contains(text(), 'Checkbox text here')]")

您无法选择它,因为您没有id为 ui-chkbox ui-widget 的input字段:

根据下面的代码:

<td role="gridcell" style="width: 30px; padding:0;text-align: center;" class="ui-selection-column">
<div class="ui-chkbox ui-widget">
<div class="ui-helper-hidden-accessible">
<input type="checkbox" name="dataTable_checkbox" aria-checked="false">
</div>
<div class="ui-chkbox-box ui-widget ui-corner-all ui-state-default">
<span class="ui-chkbox-icon ui-icon ui-c ui-icon-blank"></span>
</div>
</div>
</td>

您应该在选择器中使用复选框名称

input:checkbox[name='dataTable_checkbox']

input[type='checkbox'][name='dataTable_checkbox']

input[type='checkbox', name='dataTable_checkbox']

对于任何不知道如何在表中选择复选框的人,我找到了一种工作正常的方法:当您检查元素时,右键单击它>复制>复制选择器。用.click('yourselectorhere'(粘贴它,它应该运行得很好。为我工作。

最新更新