2013-08-24 4 views
0

Я написал тестовый пример с Selenium Java для входа в систему, а затем щелкните элемент из меню док-станции. Это логин, но он не нажимает на пункт меню док-станции. Это код, который я написал. может ли кто-нибудь сказать мне, что не так?Почему этот шаг не работает?

driver.get(baseUrl); 
driver.findElement(By.id("content")).click(); 
driver.findElement(By.id("sign-in")).click(); 
driver.findElement(By.id("_58_login")).clear(); 
driver.findElement(By.id("_58_login")).sendKeys("basand"); 
driver.findElement(By.id("_58_password")).clear(); 
driver.findElement(By.id("_58_password")).sendKeys("pass"); 
driver.findElement(By.xpath("//input[@type='submit']")).click(); 

driver.switchTo().frame(driver.findElement(By.id("DockMenuFrame"))); 
driver.findElement(By.linkText("APP. POS. TM.")).click(); 
driver.findElement(By.xpath("//a[@id='docMenuForm:j_id46_Function_850010408']/span")).click(); 
+0

какая ошибка при запуске этого кода? –

+0

Нет ошибки, просто не нажимайте на этот фрейм. Возможно ли, что этот кадр находится под другим кадром, который нужно выбрать первым? – 2ousy

+0

да, возможно, возможно, проверить значение tabindex и построить xpath на основе tabindex для findelement. –

ответ

0

проблема может быть связана с SwitchTo(). Рамка() версия перегрузки statement..webelement, кажется, использует ранее найденный элемент. В моем коде мне нужно использовать Driver.SwitchTo(). DefaultContent(), чтобы перейти к верхнему кадру, а затем к кадровой иерархии элементов, прежде чем пытаться выбрать элемент.

Смежные вопросы