Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

как получить элемент, если в class несколько слов разделенные пробелом

locators
css-selectors
webdriver
java
Теги: #<Tag:0x00007f7b6559aac8> #<Tag:0x00007f7b6559a988> #<Tag:0x00007f7b6559a848> #<Tag:0x00007f7b6559a708>

(Yerassyl Turlygazhy) #1

пишу автоматизированную отправку письма (мэйл.ру), там не могу достучатся до поля “кому”
вот скрин http://prnt.sc/ajbawo
где класс написано js-input compose__labels__input, что не позволяет в коде написать By.className
прошу подсказки


(Irinka Fesenko) #2

может попробовать вместо className использовать css? например, element(by.css(’[data-original-name=“To”]’)).sendKeys(‘test@test.com’);


(Ivan Nenashev) #3

По моему вот тут есть ответ:


А вот тут в одном из ответов пояснение что к чему и отчего:


(James May) #4

А xpath’ом из серии //*[contains(@class,‘compose__labels__input’)] не получается?
(сразу оговорюсь, не знаю является ли этот класс так сказать, уникальным


(Yerassyl Turlygazhy) #5

не уникален, много совпадении


(Ugin Berets) #6

Попробуй так
//*[@id=‘compose__header__content’]/div[2]//input[2]

или

//*[@id=‘compose__header__content’]/div[2]//input[1]


(Alcounit) #7

Можете обратиться через xpath //div[contains(@class, ‘js-row-To’)]//textarea[contains(@class, ‘js-input’)]


#8

css path
.js-input.compose__labels__input

или если все же хотите xpath
.//*[@class='b-compose']/descendant::textarea[2]


(Виталий Коряков) #9

Есть же уникальный data-original-name, по нему можно найти


(Андрей Бахтиозин) #10

доброго времени суток. Предлагаю вам использовать для отправки писем mail ru API- http://api.mail.ru/docs/guides/oauth/sites/
Отправлять письма через вэб-драйвер как-то дико и велосипедно если честно, когда для этого у каждого почтового сервиса есть специальное API


(Yerassyl Turlygazhy) #11

это в целях обучиться вебДрайверу)))