расширение кнопки в навесе f #

Я пытаюсь сделать общее расширение кнопки в f# и canopy.

как вы знаете, мы можем нажать вот такую ​​кнопку в навесе

click (//button[contains(text(),'save')])[last()]

Но я пытаюсь сделать что-то вроде этого.

let _button value = sprintf "(//button[contains(text(),'%s')])[last()]" value
let button value = _button value 
click button "save"

но это дает Это значение не является функцией и не может быть применено
Есть отличные идеи?
Заранее спасибо


person Dymond    schedule 26.08.2020    source источник
comment
что такое _button?   -  person Nghia Bui    schedule 27.08.2020
comment
@NghiaBui опечатка :)   -  person Dymond    schedule 28.08.2020


Ответы (1)


button — это функция с сигнатурой: string -> string

click — это функция с сигнатурой: string -> something

Итак, вы не можете передать button в click, вы должны написать:

click (button "save")

or

click <| button "save"

Идиоматически, я бы переписал ваш код как:

let button = sprintf "(//button[contains(text(),'%s')])[last()]"
click (button "save")
person Nghia Bui    schedule 28.08.2020