Селен Поиск по ярлыку - PullRequest
0 голосов
/ 19 сентября 2019

Я работаю над проектом автоматизации, моя проблема ясна: вместо того, чтобы находить элементы по (xpath и id), мой руководитель хочет, чтобы я обнаружил элементы по именам меток: Пример: Пользователь

<form id="loginForm" novalidate="" method="post">
<div class="form-group">
    <label class="control-label" for="username" data-i18n="label.user">User</label>
    <input type="text" placeholder="<username>" title="name.." d="username">
    <span class="help-block small">Your unique username to client</span>
</div>

Идея состоит в том, что пользователь скажет мне только ввести мое имя пользователя "xxx" в метку "Пользователь", а мне нужно найти ввод этой метки .Есть ли способ, пожалуйста?найти вход данной метки в селене?(я использую Java)

Ответы [ 2 ]

1 голос
/ 19 сентября 2019

Найти метку по тексту, получить первого родителя div и получить ввод внутри div

//label[.='User']/ancestor::div[1]/input

То же, что и предыдущий при удалениипробелы в метке текст

//label[normalize-space(.)='User']/ancestor::div[1]/input

Найти div с дочерним элементом метка по тексту и получить input внутри div

//div[./label[.='User']]/input
1 голос
/ 19 сентября 2019

Это довольно распространено в автоматизации.Вы можете найти поле ввода на основе его метки.Вы можете применить следующую логику к большинству полей.

Это в Python.

myinput = driver.find_element_by_xpath("//label[contains(text(),'User')]/following::input[1]")
myinput.send_keys("you text")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...