下面是两个复选框的html,我的目的是选择一个复选框,使用它的标签为'XERU'或'SYM'。在Robot Framework中,关键字“Check Box应该被选中”使用Key属性; ID和名称作为定位器,但此处ID对于每个标签都是动态的。
所以我需要为复选框构建一个Xpath,选择它的ID / Name,但不要在测试套件中进行硬编码。
<input id="ctl00_PageBody_chklistVirtualAddressingGroups_5" name="ctl00$PageBody$chklistVirtualAddressingGroups$5" type="checkbox"/>
<label for="ctl00_PageBody_chklistVirtualAddressingGroups_5">XERU</label>
<br/>
<input id="ctl00_PageBody_chklistVirtualAddressingGroups_6" name="ctl00$PageBody$chklistVirtualAddressingGroups$6" type="checkbox"/>
<label for="ctl00_PageBody_chklistVirtualAddressingGroups_6">SYM</label>
<br/>
答案 0 :(得分:1)
您可以尝试以下代码。此代码基于您提供的HTML。请尝试提供更多信息。
driver.findElement(By.xpath("//label[contains(text(), 'XERU')]")).click();
driver.findElement(By.xpath("//label[contains(text(), 'SYM')]")).click();
答案 1 :(得分:0)
我会尝试这些方法:
Wait Until Keyword Succeeds 4 sec 1 sec Click Element xpath=//label[contains(text(), 'XERU')]
Wait Until Keyword Succeeds 4 sec 1 sec Click Element xpath=//label[contains(text(), 'SYM')]
如果失败了,您能否向我们提供有关问题原因的进一步信息?
答案 2 :(得分:0)
将xpaths用作 -
(//label[text()='XERU']/preceding::input)[last()]
(//label[text()='SYM']/preceding::input)[last()]