Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Почему по xpath не вводиться данные в поле в robotframework

xpath
robot-framework
python
Теги: #<Tag:0x00007f7b6215c748> #<Tag:0x00007f7b6215c5b8> #<Tag:0x00007f7b6215c3d8>

(Ярослав Бойко) #1

Пишу тест для того чтоб в поле ввести текст (UA-2015-06-12-000038). Через xpath
Input Text xpath= /x:html/x:body/x:div/x:div/x:div[2]/x:div/x:div/x:div/x:tender-table/x:div/x:div[1]/x:div[1] UA-2015-06-12-000038

Мне дало такой ерор:
InvalidSelectorException: Message: The given selector /x:html/x:body/x:div/x:div/x:div[2]/x:div/x:div/x:div/x:tender-table/x:div/x:div[1]/x:div[1] is either invalid or does not result in a WebElement. The following error occurred:
InvalidSelectorError: Unable to locate an element with the xpath expression /x:html/x:body/x:div/x:div/x:div[2]/x:div/x:div/x:div/x:tender-table/x:div/x:div[1]/x:div[1] because of the following error:
NamespaceError: An attempt was made to create or change an object in a way which is incorrect with regard to namespaces
Stacktrace:
at FirefoxDriver.annotateInvalidSelectorError_ (file:///tmp/tmp2pq3F_/webdriver-py-profilecopy/extensions/fxdriver@googlecode.com/components/driver-component.js:10273)
at FirefoxDriver.prototype.findElementsInternal_ (file:///tmp/tmp2pq3F_/webdriver-py-profilecopy/extensions/fxdriver@googlecode.com/components/driver-component.js:10331)
at FirefoxDriver.prototype.findElements (file:///tmp/tmp2pq3F_/webdriver-py-profilecopy/extensions/fxdriver@googlecode.com/components/driver-component.js:10335)
at DelayedCommand.prototype.executeInternal_/h (file:///tmp/tmp2pq3F_/webdriver-py-profilecopy/extensions/fxdriver@googlecode.com/components/command-processor.js:12282)
at DelayedCommand.prototype.executeInternal_ (file:///tmp/tmp2pq3F_/webdriver-py-profilecopy/extensions/fxdriver@googlecode.com/components/command-processor.js:12287)
at DelayedCommand.prototype.execute/< (file:///tmp/tmp2pq3F_/webdriver-py-profilecopy/extensions/fxdriver@googlecode.com/components/command-processor.js:12229)


(Mykhailo Poliarush) #2

Вот вы задали вопрос, а Вы хотя бы пытались понять, что за ошибку получили? Если перевести текст ошибки на русский, то я думаю станет понятным что ваш селектор неверный или скорее всего не возвращает никаких элементов.

Селектор у вас ужасный, потому смотрите это видео


(Ярослав Бойко) #4

html/body/div[1]/div/div[2]/div/div/div/tender-table/div/div[1]/div[1]/div[2]/div/input
Показывает мне Xpath и я делаю тест для того чтоб ввести туда данные, пример
Input Text xpath=/html/body/div/div/div[2]/div/div/div/tender-table/div/div[1]/div[1]/div[2]/div/input UA-2015-06-12-000038
дает такую ошибку
ValueError: Element locator ‘xpath=/html/body/div/div/div[2]/div/div/div/tender-table/div/div[1]/div[1]/div[2]/div/input’ did not match any elements.
Буду признателен за помощь!


(Mykhailo Poliarush) #5

и снова вам выдается ошибка что в конкретный момент времени по указанному локатору не возвращается элементов, чтобы помощь качественно, а не абстрактно, необходимо видеть саму html страницу и сам тест.


(Ярослав Бойко) #6

уже все сделал! Скажите как написать чтоб тест просто обновил страницу?


(Dmitriy Zverev) #7

Можно воспользоваться кейвордом “Reload Page” из библиотеки Selenium2Library
http://rtomac.github.io/robotframework-selenium2library/doc/Selenium2Library.html#Reload%20Page