0

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

  1. 打开 sprint.com
  2. 选择只是浏览 --> 个人
  3. 导航到商店 --> 电话
  4. 输入 Zip = 22042 并开始购物
  5. 点击任何电话
  6. 点击加入购物车
  7. 点击个人计划
  8. 选择无限计划(这里我失败了)

以下是我尝试的代码片段:

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

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

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

请帮忙!

兰詹

4

3 回答 3

0

尝试这个?

"//input[@name='selectMinutes' and @value='pln2860004prd']"
于 2013-01-04T22:12:46.713 回答
0

Internet Explorer 是一个令人讨厌的测试浏览器。

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

所以在点击之前先设置好焦点

if (element instanceof Locatable) {
    Locatable remoteElement = (Locatable) inputElement;          
    remoteElement.getLocationOnScreenOnceScrolledIntoView();
}
于 2013-01-04T19:55:14.457 回答
0

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

试试这个(假设“驱动程序”是测试套件的静态成员):

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();    
}
于 2013-01-04T20:15:38.073 回答