未选择动态选择的元素

本文关键字:选择 元素 动态 | 更新日期: 2023-09-27 18:33:10

关于为什么这个代码片段没有选择你点击的元素的任何想法。我正在使用代码动态选择元素,它做得很好,但在选择单击的元素时却没有。可能出了什么问题?请帮忙。

IList<IWebElement> DynamicDatasource = driver.FindElements(By.XPath("//div[@id='s2id_Parameters_0_Validation_TheFormat']//span[starts-with(@id, 'select2-chosen-')]"));
if (DynamicDatasource.Count > 0)
{
    File.WriteAllText(@"C:'Users'ken4ward'Desktop'Tidy'WriteLines.txt", DynamicDatasource.Count.ToString());
    Actions actions = new Actions(driver);
    actions.MoveToElement(DynamicDatasource[0]).Click().SendKeys("Real Integer").Build().Perform();
    IList<IWebElement> standard = driver.FindElements(By.XPath("//div[@class='select2-drop select2-display-none select2-with-searchbox select2-drop-active']//ul[starts-with(@id, 'select2-results-')]"));
    if (standard.Count > 0)
    {
        File.WriteAllText(@"C:'Users'ken4ward'Desktop'Tidy'Writing.txt", DynamicDatasource.Count.ToString());
        actions.MoveToElement(standard[0]).Click().Build().Perform();
    }
}

未选择动态选择的元素

据我所知,您是复合类。 查找复合类可能无法正常工作。相反,请尝试Cssselector。

IList<IWebElement> standard = driver.FindElements(By.XPath("//div[@class='select2-drop select2-display-none select2-with-searchbox select2-drop-active']//ul[starts-with(@id, 'select2-results-')]"));

所以尝试以下希望它应该有效

IList<IWebElement> standard = driver.FindElements(By.CssSelector(".select2-drop.select2-display-none.select2-with-searchbox.select2-drop-active"));