首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Selenium中选中复选框

在Selenium中选中复选框
EN

Stack Overflow用户
提问于 2013-11-29 06:33:04
回答 4查看 485关注 0票数 0

测试场景是这样的:

我创建了一些用户。用户EF、用户GH等

现在我需要从用户列表中选择这些用户(用户按字母顺序排序,因此新创建的用户不总是在顶部或底部,取决于用户名,它们可以介于两者之间)

现在我的开发人员正在使用unOrder list来显示用户列表。

HTML代码,如下所示:

代码语言:javascript
复制
<DIV class="reflex-ssl-result-list "> 
<UL> 
<LI><INPUT value="" type=checkbox><LABEL class=reflex-search-result-title></LABEL> 
<LI><INPUT value="" type=checkbox><LABEL class=reflex-search-result-title>A</LABEL> 
<LI><INPUT value="" type=checkbox><LABEL class=reflex-search-result-title>B</LABEL> 
<LI><INPUT value="" type=checkbox><LABEL class=reflex-search-result-title>C</LABEL> 
<LI><INPUT value="" type=checkbox><LABEL class=reflex-search-result-title>D</LABEL> 
<LI><INPUT value="" type=checkbox><LABEL class=reflex-search-result-title>E</LABEL> 
<LI><INPUT value="" type=checkbox><LABEL class=reflex-search-result-title>F</LABEL> 
<LI><INPUT value="" type=checkbox><LABEL class=reflex-search-result-title>G</LABEL> 
</UL> 
</DIV>

C和D是新创建的用户,这是我需要选择的用户。我该怎么做呢?我尝试过xpath,但问题是新创建的用户的位置可以在任何位置。如果我一直在同一位置选择user,那么xpath对我来说很好,但在我的场景中,我需要的不仅仅是xpath。

有什么建议吗?

EN

回答 4

Stack Overflow用户

发布于 2013-11-29 09:35:23

使用XPath标识包含文本的标签(例如:'D'),上一级到其父标签( LI),然后在其中选择input

代码语言:javascript
复制
//LABEL[.='D' and @class='reflex-search-result-title']/../INPUT

由于您的示例中的元素标记是大写的,并且有时区分Xpath大小写可能是一个问题,因此请检查How XPath Works in WebDriver以了解哪些内容适用于您。

票数 2
EN

Stack Overflow用户

发布于 2013-11-29 13:01:10

尝试此xpath

代码语言:javascript
复制
//label[contains(text(),'newly created user name')]

示例:如果您创建用户A

代码语言:javascript
复制
driver.findElement(By.xpath("//label[contains(text(),'A')]")).click();

因此,无论您的用户是在哪里创建的,您都可以基于文本和HTML标签单击。

希望这能对你有所帮助

-Aj

票数 0
EN

Stack Overflow用户

发布于 2013-12-10 05:26:07

尝尝这个

代码语言:javascript
复制
<tr>
    <td>storeXpathCount</td>
    <td>//input[@name='NAME']</td>
    <td>total</td>
</tr>
<tr>
    <td>storeEval</td>
    <td>Math.floor(Math.random() * ${total} )+1</td>
    <td>index</td>
</tr>
<tr>
    <td>click</td>
    <td>xpath=(//input[@id='NAME'])[${index}]</td>
    <td></td>
</tr>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20275672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档