无法在selenium RC中找到动态下拉项

时间:2012-04-11 02:55:51

标签: c# .net selenium-rc

我是selenium的新手,我在下拉列表中通过从另一个下拉列表中选择项目动态绑定来查找项目已经很长时间了。我的示例代码后跟:

selenium.Open( “... / Default.aspx的”);

selenium.WindowMaximize();

selenium.Click( “名称= ddCountry”);

selenium.Click( “// DIV [@ ID = 'ddCountry_DropDown'] / DIV / UL /利[1]”);

str = selenium.GetText(“// div [@ id ='ddCountry_DropDown'] / div / ul / li [1]”);

selenium.Type(“name = ddCountry”,strValue);

selenium.Click( “名称= ddCity”);

selenium.Click( “// DIV [@ ID = 'ddCity_DropDown'] / DIV / UL /利[1]”);

str = selenium.GetText(“// div [@ id ='ddCity_DropDown'] / div / ul / li [1]”);

selenium.Click( “ID = btnRedirect”);

selenium.WaitForPageToLoad( “30000”);

在上面的代码中,我试图在选择国家/地区下拉列表中的项目后执行此操作。在selectionchange事件触发时,很少有项目绑定到城市下拉列表。我的问题是“selenium.Click(”// div [@ id ='ddCity_DropDown'] / div / ul / li [1]“);” 当这段代码执行时,我收到错误,例如“元素// div [@ id ='ddCity_DropDown'] / div / ul / li [1]未找到”。请事先提前解决这个问题。

的问候, Venkat

1 个答案:

答案 0 :(得分:0)

这是因为城市下降是一个国家下降的债券。您需要在国家/地区下拉后添加一些有意等待的城市下拉才能显示。

在数据库代码之后的第一个测试用例中,您可以在Java中引发一些等待:

long end3 = System.currentTimeMillis()+ 6000;

    while(System.currentTimeMillis()<end3)
    {
        // Do nothing here Just time pass.  
    } 

这将确保Java代码等待6000毫秒