Выберите пункт из выпадающего меню в C #, используя Selenium в веб-сборке - не работает - PullRequest
0 голосов
/ 15 февраля 2019

Я работаю с некоторыми автоматизированными тестами и использую Selenium Web driver с этим.До сих пор я написал скрипт, который может найти класс, но не может выбрать ни один из элементов в раскрывающемся списке.

Это мой сценарий до сих пор:

driver.FindElement(By.Id("loginOK")).Click();
Thread.Sleep(3000);
driver.FindElement(By.XPath("//*[@id = \"content\"]/div[3]/div[2]/div[1]/a[1]")).Click();
Thread.Sleep(3000);
driver.FindElement(By.XPath("//*[@id= \"sec1272\"]/table/tbody/tr[2]/td[2]/div/img")).Click();
Thread.Sleep(3000);
driver.FindElement(By.ClassName("fm - s fm - off fm - focused"));

, и я хочу выбрать один из следующих пунктов:

    <tbody>
    <tr class="row" oid="12" height="24"><td class="ln">Bujqesi, Zhvillim rural, Pyjet dhe kullotat, Natyra dhe Biodiversiteti</td></tr>
    <tr class="row-selected" oid="13" height="24"><td class="ln">Burime Njerezore</td></tr>
    <tr class="row" oid="9" height="24"><td class="ln">Administrimi dhe menaxhimi i institucioneve te arsimit parauniversitar</td></tr>
    <tr class="row" oid="14" height="24"><td class="ln">Ceshtje ligjore/Asete</td></tr>
    <tr class="row" oid="15" height="24"><td class="ln">Emergjencat Civile/Mbrojtja nga Zjarri</td></tr>
    <tr class="row" oid="10" height="24"><td class="ln">Hapesire Publike/Mjedis</td></tr>
    <tr class="row" oid="2" height="24"><td class="ln">Kerkesa/Ankesa te pergjithshme</td></tr>
    </tbody>

Заранее большое спасибо:)

1 Ответ

0 голосов
/ 12 марта 2019

Итак, как на самом деле выбрать элементы в раскрывающемся списке?Я никогда не видел стол, используемый в качестве раскрывающегося списка.Связаны ли события с элементами строки таблицы «tr» или с элементами ячейки «td»?

Вы говорите, что ваш скрипт находит элемент td по имени класса ("ln"), ночто вам действительно нужно, это выбрать родительский элемент, который является элементом строки таблицы?

Вы пытаетесь выбрать конкретную строку, или любой из них подойдет?Предположим, что вам нужен параметр, содержащий «Biodiversiteti».

using System.Linq;
using System.Collections.Generic;

List<IWebElement> options = driver.FindElements(By.TagName("tr")).ToList();
IWebElement selectOption = options.Find(x => x.FindElement(By.TagName("td")).Text.Contains("Biodiversiteti"));
selectOption.Click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...