Selenium 2 Webdriver (Невозможно найти элементы по xpath) - PullRequest
3 голосов
/ 07 сентября 2011

Может кто-нибудь сказать мне, что я делаю не так?Я попытался использовать длинную форму Firebug xpath, и я получаю ту же ошибку.Использование xpath

//span[@onclick=\"mainIframeSrc('l_sams_sched.p_group_schedule')

Я могу найти элемент и нажать «Schedule Entry» в Selenium IDE.Проблема заключается в том, что я пытаюсь сделать то же самое с помощью веб-драйвера в IE.

Фрагмент HTML-кода:

<div class="node">
<img alt="Schedule Entry" src="/csui/leaf.gif">
<span class="node-text" onmouseout="this.className='node-text'" onmouseover="this.className='node-text-over'" onclick="mainIframeSrc('l_sams_sched.p_group_schedule')">Schedule Entry</span>
</div>

Код веб-драйвера:

driver.findElement(By.xpath("//span[@onclick=\"mainIframeSrc('l_sams_sched.p_group_schedule')\"]")).click();

Ошибка:

org.openqa.selenium.NoSuchElementException: невозможно найти элемент по xpath, используя "// span [@ onclick =" mainIframeSrc ('l_sams_sched.p_group_schedule') "]" (7) Информация о системе: os.name: «Windows XP», os.arch: «x86», os.version: «5.1», java.version: «1.6.0_19» Driverинформация:selenium.ie.Finder.findElementByXPath (Finder.java:183) в org.openqa.selenium.By $ 6.findElement (By.java:205) в org.openqa.selenium.ie.Finder.findElement (Finder.java:207) в org.openqa.selenium.ie.InternetExplorerDriver.findElement (InternetExplorerDriver.java:322) в com.eviltester.seleniumtutorials.SAMSLogin.firstPageContainsQAANet (SAMSLogin.java:105) at com.eviltester.seleniumtutorials.SAMSLogin.main (SAMSLogin.java:22) Тест не пройден.

Ответы [ 2 ]

0 голосов
/ 21 октября 2011

Есть ли на вашей странице элемент с id = "tags" перед элементом, к которому вы пытаетесь обратиться в MSIE?Если да, вы должны переименовать его - см. http://code.google.com/p/selenium/issues/detail?id=1500 для более подробной информации.

Ааа, и еще одна возможная причина - настройка безопасности - см. http://code.google.com/p/selenium/wiki/InternetExplorerDriver- найдите «Требуемая конфигурация».

0 голосов
/ 09 сентября 2011

Попробуйте это,

WebElement element = driver.findElement(By.cssSelector("div.node>span.node-text"));
element.click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...