无法使用Selenium选择单选按钮

时间:2013-01-04 19:25:00

标签: internet-explorer xpath selenium radio-button selenium-webdriver

我正在尝试学习Selenium WebDriver(Internet Explorer)。在这个过程中,我开始自动化sprint.com选择手机和个人计划。以下是我要遵循的步骤:

  1. 打开sprint.com
  2. 选择仅浏览 - >个人
  3. 导航至商店 - >电话
  4. 输入Zip = 22042并开始购物
  5. 点击任何手机
  6. 点击添加到购物车
  7. 点击个人计划
  8. 选择无限计划(此处我失败)
  9. 以下是我尝试的代码段:

    driver.findElement(By.xpath("//input[@value=\"pln2860004prd\"]")).click();
    

    我可以使用相同的xpath读取属性。

    System.out.println("NAME: " + driver.findElement(By.xpath("//input[@value=\"pln2860004prd\"]")).getAttribute("name"));
    

    请帮忙!

    兰詹

3 个答案:

答案 0 :(得分:0)

Internet Explorer是一个讨厌的浏览器。

可能是由于多种原因造成的。但很可能因为该元素没有焦点。

在点击:

之前设置焦点
if (element instanceof Locatable) {
    Locatable remoteElement = (Locatable) inputElement;          
    remoteElement.getLocationOnScreenOnceScrolledIntoView();
}

答案 1 :(得分:0)

我不同意asgoth ...我认为当你理解如何处理窗口句柄等时,驱动IE就好了。

试试这个(假设“driver”是测试套件的静态成员):

public static void mouseClickByLocator( String cssLocator ) {    
     String locator = cssLocator;    
     WebElement el = driver.findElement( By.cssSelector( locator ) );    
     Actions builder = new Actions(driver);    
     builder.moveToElement( el ).click( el );    
     builder.perform();    
}

答案 2 :(得分:0)

试试这个?

"//input[@name='selectMinutes' and @value='pln2860004prd']"