Перебирайте веб-элементы с помощью Selenium и Robot Framework - PullRequest
0 голосов
/ 13 декабря 2018

На веб-странице есть много элементов с одинаковым именем класса span.И я могу получить значение первого элемента с ключевым словом «Get Text class: ...».

Но я просто не могу понять, как перебирать и получать значения всех тех жеимена классов span.Есть идеи?

Я знаю, как перебирать, например, текстовый файл с Python, но я еще недостаточно знаком с Selenium и RFW.

Ответы [ 3 ]

0 голосов
/ 14 декабря 2018

Вы можете получить все веб-элементы с одним и тем же классом, используя ключевое слово Get WebElements, а затем вы можете повторить их с циклом for.Обратите внимание, что я использую RF 3.1 новый for синтаксис .Вы можете получить доступ к текстовому атрибуту, используя расширенный синтаксис .

${elements}=    Get WebElements    //span[@class='myclass']
FOR    ${element}    IN    @{elements}
    Log    ${element.text}
END

Другой вариант - использовать ключевое слово Get Text внутри цикла, вы можете передать переменную веб-элемента каклокатор.

${elements}=    Get WebElements    //span[@class='myclass']
FOR    ${element}    IN    @{elements}
    ${text}=    Get Text    ${element}
    Log    ${text}
END
0 голосов
/ 14 декабря 2018

Вы также можете получить все элементы с классом span в массиве и перебрать их.Например:

ArrayList<WebElement> list = new ArrayList<WebElement>();
list.add(driver.findElements(By.class("")));
for(int i=0; i<list.size(); i++)
{
//select the element which is needed
}

Я надеюсь, что это работает

0 голосов
/ 14 декабря 2018

Вот решение, которое вы можете попытаться оценить по всему элементу. Но если вы хотите взять только 1-й элемент, тогда вы можете создать xpath, а затем добавить (your xpath)[1], чтобы получить 1-й элемент.Точно так же есть :nth-childOf().Подробнее здесь

xpath=<<your identifier>>
${all_ele_count}=    Get Matching Xpath Count    xpath=<<your identifier>>
Log    ${all_ele_count}
: FOR    ${INDEX}    IN RANGE    1    ${all_ele_count}
\    Log    ${INDEX}
\    ${currUrl}    get location
\    click element    xpath=(<<your identifier>>)>1])[1]
\    do processing here
\    go to    ${currUrl}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...