“Selenium

时间:2017-03-30 16:20:58

标签: selenium-webdriver

请问有人帮我完成这件事。

我想写下载selenium代码。当我试图使用下面的语法。我在eclipse中收到此错误“方法selectByValue(String)未定义类型WebElement”。

我使用以下语法:

ele.selectByIndex(5);
ele.selectByValue("3");
ele.selectByVisibleText(Feb);

提前致谢...

我找到解决方案后更新了。 我已经编写了这样的代码供其他人使用。它对我来说很好。

public void selectCreditCardType(WebElement selectCreditCardType) throws Exception {
    logger.info("Select Card");
    browser.selectByText(selectCreditCardType, "Visa Card");
    browser.Wait(10);
}

2 个答案:

答案 0 :(得分:1)

实际上selectByVisibleText();方法将参数作为String并且您将值作为webelement传递,这就是它显示错误的原因

只需将您的参数类型更改为String(包含在"中)并尝试

ele.selectByVisibleText("Feb");

已更新:

    @FindBy(xpath = "//select[@name='CTYPE']")
    private WebElement selectCreditCard;
    public void selectCreditCardType() throws Exception 
    {
    logger.info("Select Card");
    Select select = new Select(selectCreditCard);
    select.selectByIndex(2); 
    }

答案 1 :(得分:1)

仔细查看错误消息。

  

"方法selectByValue(String)未定义类型WebElement"

它说你正在做相当于未定义的WebElement.selectByValue().selectByValue()定义了Select。您没有将所有相关代码发布到您的示例中,但您可能拥有类似

的代码
WebElement ele = driver.findElement(locator);
ele.selectByIndex(5);

表示ele属于WebElement类型。您正尝试在SELECT元素中设置值,因此您可能希望使用Select类。你可以这样做

WebElement ele = driver.findElement(locator);
Select select = new Select(ele);
select.selectByIndex(5);

您应该花一些时间来审核Selenium docs for Java,尤其是Select课程。