【问题标题】:Unable to select element from dropdown within span Selenium C# [duplicate]无法从跨度 Selenium C# 中的下拉列表中选择元素 [重复]
【发布时间】:2019-08-14 13:42:49
【问题描述】:

尝试从跨度下拉列表中读取特定值时。它抛出错误“元素应该被选择但被跨度”

我尝试阅读元素,单击元素,然后尝试阅读文本,但没有任何效果

protected By entityIDdrpdwn => By.XPath("//span[@class='k-input']");
string value = "Campaign";            

ClickElement(entityIDdrpdwn);                   
SelectValueFromDropdown(entityIDdrpdwn,value);

我希望应该选择下拉“广告系列”中的元素,但它会引发错误

【问题讨论】:

    标签: c# selenium dropdown


    【解决方案1】:

    SelectValueFromDropdown(entityIDdrpdwn,value) 方法可能使用了org.openqa.selenium.support.ui.Select 类,该类处理存在于select html 标记内的元素。属于select 标签的元素包含namevalue 等属性,Select 类与它们交互。这就是您收到错误元素应该被选择但被跨度的原因。

    您可以尝试获取span 元素,然后获取底层值。

    另外,您可以参考https://www.guru99.com/select-option-dropdown-selenium-webdriver.html 了解更多关于Select 类的信息,因为这个网页确实有很好的可视化效果。

    【讨论】:

    • 我试图获得跨度。问题是跨度内的值根据选择而改变,例如:::before "Value"。因此,当尝试使用包含文本的 span 查找和选择该特定值时,它会引发错误 - 找不到元素。例如: FindElement(By.XPath("//span[@class='k-input'][contains(text(),'AD'")]);
    猜你喜欢
    • 1970-01-01
    • 2015-09-30
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多