Поскольку вы выяснили, что этих ключевых слов еще нет в опубликованных версиях SeleniumLibrary.
Если вы обрабатываете элемент или просто используете локатор строк, вы можете использовать предложенный код в SelenniumLibrary.Запрос на извлечение # 702 , упомянутый в ответе @yash в пользовательском расширении SeleniumLibrary.
В приведенном ниже примере есть два пользовательских ключевых слова Robot Framework, которые дают вам ключевые слова, используя подход, упомянутый в# 702:
- Получить дочерние веб-элементы
- Получить родительские веб-элементы
В приведенном ниже примере показано, что вы можете искать родителя и ребенка с помощьюобычный локатор id=main
или веб-элемент ${children[0]}
.Это обрабатывается методом python find_element(s)
объекта python WebElement
.
Примечание: изменено ключевое слово с Evaluate
на Call Method
по соображениям безопасности и читаемости.
example.robot
*** Settings ***
Library SeleniumLibrary
Suite Teardown Close All Browsers
*** Test Cases ***
Get Children Then Parent
Open Browser http://www.google.com headlesschrome
${children} Get Child Webelements id=main
${parent} Get Parent Webelement ${children[0]}
${id} Get Element Attribute ${parent} id
Should Be Equal ${id} main
*** Keywords ***
Get Child Webelements
[Arguments] ${locator}
${element} Get WebElement ${locator}
${children} Call Method
... ${element}
... find_elements
... by=xpath value=child::*
[Return] ${children}
Get Parent Webelement
[Arguments] ${locator}
${element} Get WebElement ${locator}
${parent} Call Method
... ${element}
... find_element
... by=xpath value=parent::*
[Return] ${parent}