当前位置: 首页 > 知识库问答 >
问题:

Testcomplete使用Xpath单击复选框

常心水
2023-03-14

我有以下html文本:

<tr class="off" onmouseout="this.className='off'"onmouseover="this.className='over'">
<td><input type="checkbox" name="caller_enrollment_form:enrollmentParticipantSelectionTable:0:personSelecti‌​on" id="caller_enrollment_form:enrollmentParticipantSelectionTable:0:personSelection‌​" value="true" />
</td>
<td><span id="caller_enrollment_form:enrollmentParticipantSelectionTable:0:extClientId">11‌​1</span>
</td>
<td><span id="caller_enrollment_form:enrollmentParticipantSelectionTable:0:clientName">SAM‌​UEL</span>
</td>

我试图点击复选框,其中数据111在同一行中。

我正在尝试这样做:

页FindChildByXPath(//span[contains(text(),'111')]/parent::td/previous sibling::td/input[@name='caller\u incrollment\u form:enrollmentParticipantSelectionTable:0:personSelection'],false)

但我得到的对象未找到错误。

共有1个答案

孔俊友
2023-03-14

检查有一个ID,并且ID在页面中是唯一的。所以你可以使用:

// JScript
var checkBox = page.FindChildByXPath("//input[@id='caller_enrollment_form:enrollmentParticipantSelectionTable:0:personSelection‌​']");
checkBox.ClickChecked(true); // Check the checkbox

ID包含一个数字(0);可以使用变量指定此数字:

var checkBox = page.FindChildByXPath("//input[@id='caller_enrollment_form:enrollmentParticipantSelectionTable:" + index + ":personSelection‌​']");


如果您特别需要通过文本“111”进行标识,您可以使用以下内容:

var checkBox = page.FindChildByXPath("//tr[td/span[.='111']]/td/input");
checkBox.ClickChecked(true); // Check the checkbox

也可以使用变量代替“111”:

var checkBox = page.FindChildByXPath("//tr[td/span[.='" + text + "']]/td/input");

XPath解释:

//tr                   - find a table row
    [                  - that matches this condition:
      td/span[.='111'] - any of the row's cells contains a SPAN with the text '111'
    ]
                       - then in this row
 /td/input             - find an INPUT in any cell
 类似资料:
  • 当我第一次点击它的时候,它点击了,但是没有关掉... 我试过这个,它检查和取消检查,但只有一次。 这个对我也不起作用。 null null

  • 问题内容: 我有一个带有一些圆形和矩形元素的SVG对象。使用webdriver,我可以单击主要的svg对象,但不能单击其中的任何元素。问题似乎只在于单击(或任何鼠标交互),因为我可以使用getAttribute()返回其中任何下面内容的宽度,ID,x / y,文本等值。 这是HTML的示例: 还有一个WebDriver尝试右键单击矩形元素(并失败)的示例: 但这有效并返回一个值: 当WebDriv

  • 我有一个带有几个圆形和矩形元素的SVG对象。使用webdriver,我可以单击主svg对象,但不能单击其中的任何元素。问题似乎只出在点击(或任何鼠标交互)上,因为我可以使用getAttribute()返回宽度、ID、x/y、text等值,用于它下面的任何内容。 下面是HTML的一个示例: 以及WebDriver试图右键单击矩形元素(失败)的示例: 但这会起作用,并返回一个值: 当WebDriver

  • 大家好,我是Selenium/Java/HTML的相对(阅读:complete)新手,如果我问的是显而易见的问题,我深表歉意。我需要的是能够 单击特定复选框1和 以下是网站HTML: 特定复选框1 特定复选框2: 我徒劳的尝试: Xpath: 元素不可见 而是单击div中的href超链接 元素不可见 CSS: 元素不可见 通过类名: 打开超链接 我在论坛上看了看,看到提到元素被隐藏了——但是我找不

  • 问题内容: 角度1.2: 我的功能状态不正确? 单击后,我想要状态。 问题答案: 和的执行顺序不明确,因为它们没有定义明确的优先级。相反,你应该使用或上,以确保您获得的正确值 模型 变量。 在您的情况下,这应该可以工作:

  • 问题内容: 我正在尝试从3个按钮的列表中进行选择,但是找不到选择它们的方法。以下是我正在使用的HTML。 我可以使用以下代码找到它: 输出:SRF,COM,MOT 但我想选择ChoiceOne。(单击它)我该怎么做? 问题答案: 使用CSS选择器或XPath 直接按属性选择,然后单击它。 更正(但是OP应该学习如何在文档中查找) 在Python绑定中,它不存在,称为。一个人应该能够查看异常消息并在