Selenium:我无法选择" Today Sale Update"通过我的代码

时间:2015-11-16 10:29:30

标签: java selenium

我添加了硒测试。在此测试中,我可以点击员工,但无法点击"今日促销更新"。我怎么能这样做?

请查看我的代码。

package Testing;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class Login {

    public static void main(String\[\] args) {
        WebDriver driver= new FirefoxDriver();
        String baseurl="http://203.212.70.20/vid/WebLogin.aspx ";
        driver.get(baseurl);
        driver.manage().window().maximize();
        driver.findElement(By.id("textBoxUserName")).sendKeys("admin");
        driver.findElement(By.id("textBoxPassword")).sendKeys("1234");
        driver.findElement(By.id("explore")).click();
        driver.findElement(By.id("ui-accordion-accordion-header-2")).click();
        driver.findElement(By.xpath("//*\[@id="ui-accordion-accordion-panel-2"\]/ul/li\[6\]/a")).click();
        //Select oSelection = new Select(driver.findElement(By.id("ui-accordion-accordion-header-2")));
        //oSelection.selectByVisibleText("TODAY SALE UPDATE");
        driver.findelement(By.visibleText(""))
        driver.findElement(arg0)

        //oSelection.selectByIndex(1);

        // TODO Auto-generated method stub

    }

2 个答案:

答案 0 :(得分:0)

由于HTML显示您尝试单击的选项是列表项中的URL。



<li><a href="Master/TodaySalesUpdate.aspx"> TODAY SALE UPDATE</a>
</li>
&#13;
&#13;
&#13;

它对我有用:

driver.findElement(By.linkText("TODAY SALE UPDATE")).click();

答案 1 :(得分:0)

元素&#34;今日销售更新&#34;是一个列表项而不是Select选项,因此您永远无法在其上使用Select类的selenium。相反,您可以将所有列表项存储在列表中,并根据您的要求单击项。点击&#34;探索&#34;登录页面中的按钮可以执行以下操作。试试吧 -

wd.findElement(By.id("ui-accordion-accordion-header-2")).click();
    WebElement web=wd.findElement(By.id("ui-accordion-accordion-panel-2"));

    List<WebElement> list=web.findElements(By.tagName("li"));
    for(WebElement w:list){
        if(w.getText().equalsIgnoreCase("today sale update")){
            w.click();
        }
    }