Метод выбора выпадающих значений в селене - PullRequest
0 голосов
/ 05 февраля 2020

Мне нужен простой метод для отправки значений в " dropID "

значения:

ОАЭ, Бахрейн, Оман ... et c

раскрывающийся пользовательский интерфейс

enter image description here

мой xpath (глобальный)

//*[@id="wrapper"]/div[1]/header/div[2]/div[2]/div[1]/div[1]/div[2]/nav/ul/li[' + **dropID** + ']/a

HTML

<nav class="header__countries-menu--desktop mi-js-countries-menu-desktop" style="display: block;">
                  <ul>
                    <li class="header__country-selector--desktop__country">
                      <a href="/change-country?to=ae&amp;url=/Sponsored">UAE</a>
                    </li>
                    <li class="header__country-selector--desktop__country">
                      <a href="/change-country?to=bh&amp;url=/Sponsored">Bahrain</a>
                    </li>
                    <li class="header__country-selector--desktop__country">
                      <a href="/change-country?to=om&amp;url=/Sponsored">Oman</a>
                    </li>
                    <li class="header__country-selector--desktop__country">
                      <a href="/change-country?to=qa&amp;url=/Sponsored">Qatar</a>
                    </li>
                    <li class="header__country-selector--desktop__country">
                      <a href="/change-country?to=kw&amp;url=/Sponsored">Kuwait</a>
                    </li>
                    <li class="header__country-selector--desktop__country">
                      <a href="/change-country?to=eg&amp;url=/Sponsored">Egypt</a>
                    </li>
                    <li class="header__country-selector--desktop__country">
                      <a href="/change-country?to=jo&amp;url=/Sponsored">Jordan</a>

Я новичок в Selenium и ищу помощи

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

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

Допустим, у вас это есть в вашем CountryPage class

WebElement countryEle = driver.findElement (By.xpath ( "// [@ class = 'header__countries-menu - desktop mi- js -countries-menu-desktop'] // [содержит (text (), '" + dynamicText + "')] ");

или

WebElement countryEle = driver.findElement (By.xpath (" // [@ class = 'header__country-selector - desktop__country'] // [содержит (text (), '"+ dynamicText +"')] ");

(2) Вам необходимо щелкнуть раскрывающийся список, чтобы выбрать любую страну:

driver.findElement(By.xpath("dropDown of your country ")).click();

(3) отправьте свой динамический c DropID для выбора страны:

public static void selectFromDropdown(WebDriver driver, WebElement element)
{
    driver.findElement(element).click();
}

(4) вызовите ваш метод:

selectFromDropdown(driver,CountryPage(driver,"UAE"))
0 голосов
/ 07 февраля 2020

Ниже приведен код, который я пробовал

    public void portfolioRenewalSearch(String portfolioId) throws Exception {

             By xpath2 = By.xpath("//*[@id='wrapper']/div[1]/header/div[2]/div[2]/div[1]/div[1]/div[2]/nav/ul/li[" + portfolioId + "]/a");

           //MY ACTION IS HERE

            return;
}

, затем я позвонил из моего теста

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