Как написать xpath для поля и проверить поля - PullRequest
0 голосов
/ 05 мая 2020

У меня есть требование проверить имя и значения поля. Мой код выглядит как

<div class="line info">
            <div class="unit labelInfo TextMdB">
                Reference #:
            </div>
            <div class="unit lastUnit">
               701
            </div>
        </div>      

    </div>

<div class="line info">
                <div class="unit labelInfo TextMdB">
                    Registered Date:
                </div>
                <div class="unit lastUnit">
                    05/05/2020
                </div>
            </div>

Я дал свой xpath как "// div [@ class = 'unit lastUnit'] // previous-sibling :: div [@ class = 'unit labelInfo TextMdB' и содержит (text (), 'Номер ссылки:')] ".

С помощью этого xpath я могу добраться до поля« номер ссылки ». Но как проверить, что поле № ссылки отображает значение (в данном случае 701).

Оцените ваш ответ. Спасибо

1 Ответ

2 голосов
/ 05 мая 2020

Вы можете сначала найти текст Reference #, используя его текст в xpath, а затем вы можете использовать following-sibling для получения тега div, а затем использовать getText() (java) / text ( python) метод получения 701.

(Отредактированный ответ после комментария OP)
Если вы хотите проверить, отображается ли элемент на странице или нет, вы можете получить его список и проверить размер этого list больше 0 или нет.

Вы можете сделать это так:

In Java:

List<WebElement> elementList = driver.findElements(By.xpath("//div[@class='line info']//div[contains(text(),'Reference #')]//following-sibling::div"));
if(elementList.size()>0){
    // Element is present on the UI
    // Finding its text
    String text = elementList.get(0).getText();
}

In python:

elementList = driver.find_elements_by_xpath("//div[@class='line info']//div[contains(text(),'Reference #')]//following-sibling::div")
if (elementList.len>0):
    # Element is present
    # Printing its text
    print(elementList[0].text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...