试图在Selenium Webdriver中获取特定属性

时间:2014-09-18 18:31:12

标签: selenium webdriver

我正在尝试获取属性type="radio",但我不确定如何在selenium webdriver中。 我尝试使用

if(driver.findElement(By.id("userStatusEnable")).getAttribute("type").equals("radio"))

并将id更改为x-auto-210

<div id="userStatusEnable" class="x-form-check-wrap x-form-field x-component " role="presentation" style="position: relative;">
<input id="x-auto-210" class=" x-form-radio" type="radio" name="gxt.RadioGroup.5" style="position: relative; left: 0px; top: 4px;" tabindex="0" value="enabled" aria-describedby="x-auto-190" checked="">
<label class="x-form-cb-label" for="x-auto-210" htmlfor="x-auto-210" style="position: relative; left: 1px; top: 3px;">Enable</label>
</div>

2 个答案:

答案 0 :(得分:1)

一种可能的方法是使用findElements()和xpath选择器查找带有input的{​​{1}}代码:

type="radio"

答案 1 :(得分:0)

根据您的问题,您可能希望找到ID为x-auto-210且类型为radio的所有输入元素。您可以使用以下XPath执行此操作:

"//input[@id='x-auto-210' and @type='radio']"

我已经添加了XPath表达式正在做什么的解释

  1. //表示我们要搜索所有元素
  2. input表示我们只对输入元素感兴趣
  3. []包含我们希望输入匹配的条件(即,ID为x-auto-210且类型为radio
  4. 如果将此表达式与selenium中的findElements结合使用,您应该能够找到所需的元素

    if (driver.findElements(By.XPath("//input[@id='x-auto-210' and @type='radio']")).size() == 2) {
        //Do stuff
    }