2017-07-06 93 views
0

我是新来硒选择下拉菜单中的文字和我被困在一个实施 我的要求是如何搜索和使用硒的webdriver

  1. 进入设置页面
  2. 查找下拉
  3. 从下拉列表中获取的所有值
  4. 寻找在下拉
  5. 一定的文字如果没有选择文本,选择下拉
  6. 特定文本

我的代码如下

void setru() 
    { 
     driver.switchTo().frame("contentFrame"); 
     Select rudropdown=new Select(driver.findElement(By.id("DefaultOrganisationDropDown"))); 
     List<WebElement> drop=rudropdown.getOptions(); 
     int e=drop.size(); 
     for(int i=0;i<e;i++) 
     { 
      String temp=drop.get(i).getText(); 
      String actual_RU="000139, NEXTRAN CORPORATION - JACKSONVILLE"; 
      boolean flag=false; 
      if(temp.contains("000139")) 
      { 
       flag=true; 
       rudropdown.selectByValue("actual_RU"); 

      } 

     } 

但是,这是给我的错误信息。 org.openqa.selenium.NoSuchElementException:不能与价值定位选项:actual_RU

+0

你传递字串' “actual_RU”'。你确定你不想传递名为'actual_RU'的变量的值吗? – jsheeran

+0

我已经给出code.Its仍然无法正常工作。 我想选择值x如果它不存在。 driver.switchTo()。frame(“contentFrame”); \t \t \t Select rudropdown = new Select(driver.findElement(By.id(“DefaultOrganisationDropDown”))); \t \t \t列表 drop = rudropdown.getOptions(); \t \t \t int e = drop.size(); \t \t \t对(INT I = 0;我

+0

不要用'比较字符串=='。改用'Expected_RU.equals(Actual_RU)'。另外,按照惯例,非最终变量名称以小写字母开头并且不包含下划线。 – jsheeran

回答

0

它可能如果你

rudropdown.selectByValue("actual_RU"); 

rudropdown.selectByValue(temp); 
0

似乎有取代下面一行代码中的作品是一个错字错误。使用下面的代码

rudropdown.selectByValue(actual_RU); 

而不是

rudropdown.selectByValue("actual_RU");