@FindBy注释用于从按钮列表中定位一个无线电

时间:2015-06-11 10:58:31

标签: selenium-webdriver pageobjects findby

我遇到使用@FindBy注释从按钮列表中找到一个单选按钮的问题。

我有一个标题选项web元素与Mr Ms .. Dr作为单选按钮,因为它们位于相同的div中,然后它们具有与结束索引器几乎相同的xpath或id, 我不希望每个相应的标题选项都有6个@FindBy

我正在寻找的解决方案是当我使用带有步骤的黄瓜功能文件时

鉴于Im' Mr' 鉴于Im' Ms'

它将转到页面对象和@FindBy(............)WebElement标题 .....

title.click //注释将点击相应的标题

1 个答案:

答案 0 :(得分:1)

如果你想创建一个动态的@FindBy然后它是不可能的,你可以在By Byator中使用动态By定位器或String元素,但是你提供给FindBy注释的内容必须是不可变的。因此,如果您使用FindBy

,您应该知道您正在寻找什么

如果没有页面源代码示例如何获取单选按钮本身很难说,但使用xpath可以轻松实现,因为很可能你的单选按钮设置了他们的名字甚至ID,作为最后的手段你可以在元素中搜索文本。 e.g:

"//input[@id='btnId']"   (in case of present id I would suggest using css selector "input#btnId")
"//label[contains(text(), 'Mr')]/input"