Selenium Webdriver单选按钮问题

时间:2013-05-17 07:30:18

标签: c# asp.net selenium selenium-webdriver

我在Selenium Web驱动程序中导出Selenium IDE代码以进行自动化测试。代码执行正常,但在单选按钮上它停止并在Selenium Webdriver上生成错误。请指导我在webdriver上成功执行单选按钮。

我的代码是:

driver.FindElement(By.Id("ContentPlaceHolder1_ucTriple_rptOffers_AddToCartButton_0")).Click();

            System.Threading.Thread.Sleep(20000);  
            driver.FindElement(By.Id("rptShoppingServiceGroup_dlAddons_1_ctl03_0_1_0")).Click();
            driver.FindElement(By.Id("rptShoppingServiceGroup_dlAddons_1_ctl03_1_3_1")).Click();
            driver.FindElement(By.Id("rptShoppingServiceGroup_dlDevices_1_ctl03_0_1_0")).Click();
            driver.FindElement(By.Id("rptShoppingServiceGroup_dlAddons_2_ctl01_2")).Click();
            driver.FindElement(By.Id("rptShoppingServiceGroup_dlDevices_2_ctl03_0_2_0")).Click();
            driver.FindElement(By.Id("rptShoppingServiceGroup_dlDevices_2_ctl03_0_0_0")).Click();
            driver.FindElement(By.Id("SubmitButton")).Click();

发现错误是:

Unable to locate element: {"method":"id","selector":"rptShoppingServiceGroup_dlAddons_1_ctl03_0_1_0"}

如何从中删除错误并成功执行。

1 个答案:

答案 0 :(得分:0)

似乎页面中的单选按钮是动态生成的。然后,错误有两个可能的原因:

  • 尝试单击时,收音机不存在。确保您已执行了之前显示该单选按钮的步骤。
  • 生成的单选按钮具有不同的名称(名称中的数字可能会有所不同)。尝试使用xpath而不是确切的id来选择它。

我的建议是在没有选择指令的情况下运行代码,并且不要退出驱动程序(即不要关闭浏览器),这样你就可以检查结果页面并查看是否显示了单选按钮以及它的实际内容名字是。