应该已经选择了Selenium-webdriver java下拉问题元素

时间:2014-06-20 06:25:26

标签: java webdriver

我有下拉列表的HTML代码:

<div class="column two">
<select id="CCType" name="CCType">
    <option value="">Please select...</option>
    <option value="Mcard">Master Card</option>
    <option value="Visa ">VISA</option>
</select>

我的剧本:

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].select();", selectCreditCardType);
selectCreditCardType.selectByValue("Visa"); 

selectCreditCardType.selectByVisibleText(customer.creditCardType);

结果:元素应为select,但为input

尝试了stackoverflow中的不同选项:Selenium webdriver C# CSS dropdown Issue - Element should have been select but was div 但是没有运气。

1 个答案:

答案 0 :(得分:0)

如果您使用OpenQA.Selenium.Support.UI.SelectElement类

,它应该可以工作

C#示例:

    var selElement = new OpenQA.Selenium.Support.UI.SelectElement([Web Element goes here]);
    foreach (var option in selElement.Options)
    {
      if (option.Text == "desired text here")
         selElement.SelectByText(Option.Text);
    }

您也可以按值进行操作,但这将是select元素选项的get属性选择和比较。

    option.GetAttribute("value");