Нажмите Веб-элемент Canopy

У меня есть кнопка, которую я получаю с навесом, как это...

let buttons = elements ".buttonClass"

Последняя кнопка - та, которую я хочу нажать, но когда я делаю...

click buttons.tail

Я получаю ошибку, которая говорит

"Невозможно щелкнуть [OpenQA.Selenium.Remote.RemoteWebElement], потому что это не строка или веб-элемент"

Итак, мой вопрос, есть ли способ сделать то, что я пытаюсь сделать?

2 ответа

Решение

Список, который возвращается с elements (selector) является IWebElement List

Таким образом, доступ к списку с buttons.Item (buttons.Length - 1) Я могу получить доступ к WebElement объект, который имеет функцию щелчка на нем.

let buttons = elements ".buttonClass"
(buttons.Item (buttons.Length - 1)).Click()

Документация для RemoteWebElement

Документация API Canopy

buttons.tail это не "последняя кнопка", а список, состоящий из всех кнопок, кроме первой. Вот что обычно означает "хвост" по отношению к спискам. Попробуй это:

let list = [1;2;3]
let tail = list.Tail   // tail = [2;3]

Чтобы получить последний элемент списка F#, используйте List.last функция:

let buttons = elements ".buttonClass"
click (List.last buttons)
Другие вопросы по тегам