使用Web程序集中的Selenium从C#下拉菜单中选择项目 - 不起作用

问题描述 投票:-1回答:1

我正在使用一些自动化测试,我正在使用Selenium Web驱动程序。我写了一个脚本,直到现在可以找到该类但不能选择下拉列表中的任何一个项目。

这是我的脚本,直到现在:

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>

提前谢谢了 :)

c# html selenium automated-tests
1个回答
0
投票

那么,如何实际选择下拉列表中的项目?我从来没有见过用作下拉列表的表格。事件是附加到“tr”表行元素还是附加到“td”单元格元素?

你是说你提供的脚本通过类名(“ln”)找到td元素,但你真正需要的是选择父元素,即表行元素?

您是要尝试选择特定行,还是其中任何一行?假设您特别想要一个包含“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();
© www.soinside.com 2019 - 2024. All rights reserved.