Size: a a a

Selenide на русском

2020 March 13

А

Антон in Selenide на русском
а, прошу прощения, увидел
источник

VB

Vlad Bak in Selenide на русском
тут не проблема поиска, есть рабочие варианты. Мне просто интересно, почему не работает:
$(Selectors.byText("Закрыть")).$(By.xpath("./parent::button"))
источник

А

Антон in Selenide на русском
а можно ссылочку на страницу где эти кнопочки глянуть можно?
источник

VB

Vlad Bak in Selenide на русском
к сожалению, нет, нда
источник

A

Andrey in Selenide на русском
Vlad Bak
тут не проблема поиска, есть рабочие варианты. Мне просто интересно, почему не работает:
$(Selectors.byText("Закрыть")).$(By.xpath("./parent::button"))
а зачем писать $(By.xpath("")) если можно $x("") ?
и еще $(By.xpath("//*[.='Закрыть']//parent::button")) если можно $x("//button[.='Закрыть']").
просто интересно
источник

А

Антон in Selenide на русском
Vlad Bak
тут не проблема поиска, есть рабочие варианты. Мне просто интересно, почему не работает:
$(Selectors.byText("Закрыть")).$(By.xpath("./parent::button"))
Я просто не могу понять что именно происходит в этом локаторе.
Про синтаксис отдельный вопрос.
Я вообще почему то не могу найти такой штуки как (By.byText(""))
источник

SR

Stas Rusakov in Selenide на русском
byText
источник

SR

Stas Rusakov in Selenide на русском
Он не входит в By
источник

А

Антон in Selenide на русском
Stas Rusakov
Он не входит в By
спасибо, теперь понял
источник

VB

Vlad Bak in Selenide на русском
Антон
Я просто не могу понять что именно происходит в этом локаторе.
Про синтаксис отдельный вопрос.
Я вообще почему то не могу найти такой штуки как (By.byText(""))
да, прошу прощения, Selectors.byText
источник

VB

Vlad Bak in Selenide на русском
Andrey
а зачем писать $(By.xpath("")) если можно $x("") ?
и еще $(By.xpath("//*[.='Закрыть']//parent::button")) если можно $x("//button[.='Закрыть']").
просто интересно
можно, я просто для удобства экспериментировал, речь о неработающем Selectors.byText.
xpath в любом проявлении работает на кнопку, хоть через By, хоть через $x
источник

А

Антон in Selenide на русском
Vlad Bak
да, прошу прощения, Selectors.byText
ну, если я ничего не напутал конечно, вы на выходе получаете локатор:
.//*/text()[normalize-space(translate(string(.), '     ', '    ')) = 'Закрыть']/parent::*/.parent::button
источник

А

Антон in Selenide на русском
и да, в таком виде оно не работает)
источник

VB

Vlad Bak in Selenide на русском
работает
источник

VB

Vlad Bak in Selenide на русском
на всех кнопках кроме этой=)
источник

VB

Vlad Bak in Selenide на русском
вот две идентичные кнопки
источник

А

Антон in Selenide на русском
Vlad Bak
на всех кнопках кроме этой=)
проверьте локатор который я скинул, работает ли для других кнопок
источник

VB

Vlad Bak in Selenide на русском
нет
источник

А

Антон in Selenide на русском
Vlad Bak
нет
.//*/text()[normalize-space(translate(string(.), '     ', '    ')) = 'Закрыть']/parent::*/.. - а вот так будет
источник

А

Антон in Selenide на русском
если всё правильно понимаю, то ошибка в написании локатора просто
источник