2012-04-11 34 views
0

我是硒的新手,我在一个下拉列表中找到一个项目,并且通过从另一个下拉列表中选择项目来动态绑定,我感到很震惊。我的示例代码是:无法在硒中找到动态下拉项目RC

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

selenium.WindowMaximize(); (“name = ddCountry”);点击(“name = ddCountry”); (“// div [@ id ='ddCountry_DropDown']/div/ul/li [1]”);

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

selenium.Type(“name = ddCountry”,strValue); (“name = ddCity”);点击(“name = ddCity”); (“// div [@ id ='ddCity_DropDown']/div/ul/li [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]“);” 当这段代码执行时出现错误,如“Element // div [@id ='ddCity_DropDown']/div/ul/li [1]找不到“。请提前提前为此问题提供解决方案。

问候, Venkat

回答

0

这是因为城市下拉是由一国债券降了下来。您需要在国家下拉城市下拉菜单后添加一些有意等待。

你可以这样你的数据库代码后,诱导Java中的第一个测试情况下,一些等待:

长END3 = System.currentTimeMillis的()+ 6000;

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

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