Как однозначно идентифицировать xpath для нескольких тегов и нескольких значений - PullRequest
0 голосов
/ 02 мая 2018

У меня есть следующий HTML:

<div class=‘content active’>
    <div>
        <div class=‘var’>
            <div class=‘field var-field’>
                <label>Interface Name</label>
                <div class=‘ui input’>
                    <input type=‘input’ placeholder=‘.*’ value> ==$0
                </div>
            </div>
        </div>
    </div>
    <div>
        <div class=‘var’>
            <div class=‘field var-field’>
                <label>Neighbor Id</label>
                <div class=‘ui input’>
                    <input type=‘input’ placeholder=‘.*’ value> ==$0
                </div>
            </div>
        </div>
    </div>
</div>

Мне нужно отправить текст в текстовое поле с надписью: Имя интерфейса. Есть ли способ однозначно написать xpath для отправки текста в текстовое поле . Обратите внимание, что единственный способ уникальной идентификации - это по метке. Другие поля в теге одинаковы для обоих. Я попытался с помощью оператора AND. Неудачно. Пожалуйста, помогите мне здесь.

Ответы [ 3 ]

0 голосов
/ 02 мая 2018

Попробуйте это:

//label[text()='Interface Name']/following-sibling::div/child::input 
0 голосов
/ 02 мая 2018

Чтобы отправить текст элементу <input> относительно тега <label>, вы можете создать функцию следующим образом:

def test_me(myText):
        driver.find_element_by_xpath("//label[.='" + myText + "']//following::div[1]/input").send_keys("hello")

Теперь вы можете вызывать эту функцию из любого места в вашем скрипте следующим образом:

test_me("Interface Name")
# or
test_me("Neighbor Id")
0 голосов
/ 02 мая 2018

Вы можете использовать этот XPATH: - //*[text()='Interface Name']/following-sibling::div/input"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...