【发布时间】:2012-11-22 09:55:57
【问题描述】:
我正在使用 Selenium webdriver 自动化共享点应用程序。
单击一个链接以将新项目添加到列表中时,它会打开窗口/框架(不确定),一种模态弹出窗口。执行脚本时,出现无法定位元素的错误。在下图中,当我使用driver.getwindowhandles() 查找所有窗口句柄时,它只给出了 1 个窗口作为父窗口。而不是子窗口。相同的代码能够通过 selenium IDE 运行,但不能通过 JUnit。请帮助我如何处理这件事。
driver.findElement(By.xpath("//div[@id='zz9_V4QuickLaunchMenu']/div/ul/li[4]/a/span/span")).click();
driver.findElement(By.id("idHomePageNewLink")).click();
Thread.sleep(5000);
//此时给出错误,即子弹出窗口上文本字段的id。
driver.findElement(By.id("ctl00_m_g_99918f84_a256_44b4_819e_982688a9f15c_ctl00_ctl05_ctl00_ctl00_ctl00_ctl04_ctl00_ctl00_UrlFieldUrl")).clear();
driver.findElement(By.id("ctl00_m_g_99918f84_a256_44b4_819e_982688a9f15c_ctl00_ctl05_ctl00_ctl00_ctl00_ctl04_ctl00_ctl00_UrlFieldUrl")).sendKeys("http://efgh");
System.out.println("Done!!!!");
【问题讨论】:
-
为了更清楚,请显示html代码sn-p?
-
睡眠不是确保弹出窗口出现的正确方法。当您看到执行时,您是否看到模态弹出窗口?可能是弹窗在 5 秒内没有出现,因此出现错误。
-
它显示弹出窗口,就像我们需要输入值的窗口一样。它在那里等待并给出错误。
标签: sharepoint selenium modal-dialog