2016-01-25 4 views
2

Когда я проверяю XPath в Firebug, он работает так, как ожидалось.Элемент найден в Firebug, но не в Selenium

XPath Я пытаюсь ниже:

.//div[Text()='Data Fields']/following::div[contains(@style,'db3a1a10.pn`g')][2] 

Image element found in Firebug

Однако в Selenium WebDriver

ArrayList<WebElement> al = toolActionObject.getAllElementsByXpath(".//div[Text()='Data Fields']/following::div[contains(@style,'db3a1a10.png')][2]"); 
System.out.println(al.size()); 

выходные линии подобны

DEBUG (SeleniumActions.java:91) - Locating elements by By.xpath: *//div[Text()='Data Fields']/following::div[contains(@style,'db3a1a10.png')][2] 
DEBUG (SeleniumActions.java:91) - Locating elements by By.xpath: *//div[Text()='Data Fields']/following::div[contains(@style,'db3a1a10.png')][2] 
DEBUG (SeleniumActions.java:91) - Locating elements by By.xpath: *//div[Text()='Data Fields']/following::div[contains(@style,'db3a1a10.png')][2] 
DEBUG (SeleniumActions.java:91) - Locating elements by By.xpath: *//div[Text()='Data Fields']/following::div[contains(@style,'db3a1a10.png')][2] 
DEBUG (SeleniumActions.java:91) - Locating elements by By.xpath: *//div[Text()='Data Fields']/following::div[contains(@style,'db3a1a10.png')][2] 
DEBUG (SeleniumActions.java:111) - Exception : Elements not found. 
Cause : Elements not found by By.xpath: *//div[Text()='Data Fields']/following::div[contains(@style,'db3a1a10.png')][2]. Returning empty Array List of WebElement. 
0 
INFO (GSUILogInLogOut.java:95) - Clossing browser. 
PASSED: testHere 

В чем причина такого противоречивого поведения?

+0

Что такое 'toolActionObject'? – Guy

+0

Я работаю над рамкой. в нашем контексте у нас есть класс под названием SeleniumActions, в котором мы определили методы доступа к веб-элементам по id, xpath и т. д. toolActionObject является экземпляром SeleniumActions. –

+0

Пожалуйста, добавьте соответствующий html (откуда начинается xpath) в виде текста. – Guy

ответ

1

У вас есть две проблемы в XPath. text() необходимо записать в нижнем регистре, а 'db3a1a10.png' (возможно, просто ошибка в вашем примере кода) не должна содержать отметки.

+0

Да, я пытался Text(), это должен был быть текст(). –