Элемент выпадающего списка Selenium JUnit

Вопрос:

Я являюсь настоящим новичком в Selenium и JUnit и пытаюсь проверить функциональность выпадающего списка, выбрав один элемент. Selenium записывает его с помощью динамического id, поэтому при попытке повторного запуска он не может найти элемент. Я пробовал несколько подходов в своем коде JUnit, но, похоже, я не понимаю.

Это раскрывающийся список “Вид”, где первым элементом является “Темы”,

Это мой html:

<div id="yui_3_16_0_1_1406046071286_1213" class="commontasks shaded">
<div id="pagetoolbar" class="hasnomsg hideReplyGroup">
<div id="match-messagelist-sizing">
<span id="btn-ml-cbox" class="btn btn-hdr cbox collapse-end-space" tabindex="0"   aria-label="Select or deselect all messages [Ctrl+A]">
<span id="btn-select-dd" class="btn neoFocusable enabled" aria-label="Select or deselect categorized messages" aria-haspopup="true" role="button" data-action="select-dd">
<span id="btn-conv-view" class="btn btn-absolute btn-view-dd" data-action="menu" title="More view options" aria-haspopup="true" role="button">
<span id="yui_3_16_0_1_1406046071286_1215" class="icon-text">View</span>
<b id="yui_3_16_0_1_1406046071286_1212" class="icon icon-chevron-down"></b>
</span>
</div>
</div>
  1. Я попытался использовать следующий код, чтобы открыть список: driver.findElement(By.xpath(“/html/body/div [7]/div [3]/div [4]/div [2]/div 1/div [ 2]/DIV/DIV/оболочка [3]/б “)) нажмите(). Но когда я запускаю тест из Eclipse, он завершается успешно, но я не вижу открытия списка. Есть ли способ продолжить работу здесь и выбрать элемент из списка?

  2. Я попытался использовать опцию Select: Select select = new Select (driver.findElement(By.xpath(“/html/body/div [6]/div [3]/div [4]/div [2]/div 1/div [2]/div/div/span [3]/span [текст() = ‘Вид’] “))); Но получилась следующая ошибка: org.openqa.selenium.support.ui.UnexpectedTagNameException: Элемент должен был быть “select”, но был “span”,

Я был бы очень признателен за ваши комментарии.

благодаря

Лучший ответ:

Предполагая, что id (yiu- *) являются динамическими, я использую CSS Selector. Попробуйте приведенный ниже код:

driver.findElement(By.cssSelector("div#pagetoolbar b.icon-chevron-down")).click();

для вашего второго вопроса вы можете использовать только элемент SELECT HTML для класса Select. Поскольку ошибка явно говорит, что вы пытаетесь использовать ее в элементе SPAN.

Оцените статью
TechArks.Ru
Добавить комментарий