2016-04-08 21 views
0

Bir demo sitesinde pratik testler yapıyorum, ancak bir açılır listeden bir değer seçmeyle ilgili bir sorun yaşıyorum, öğeyi bulamıyorum, ancak doğru GelenAçılır Seç - Selenium Webdriver

drop_list = @@wait.until { 
      drop = @@driver.find_element :id => '#dropdown_7' 
      drop if drop.displayed? 
      drop.click 
     } 


     options=drop_list.find_element :id => '#dropdown_7' 

     options.each do |i| 
      if i.text == 'American Samoa' 
      i.click 
      break 
      end 

cevap

1

teşekkür ederim. Bu, "dropdown_7" kimliğine sahip bir öğeyle eşleşen bir CSS seçici iken, id niteliğiyle eşleşmez.

Sadece olmalıdır: Ben Yakut bu uyguladık nasıl

drop = @@driver.find_element :id => 'dropdown_7' 
0

:

HTML

<select id="dropdown_7" name="dropdown_7" class=" piereg_validate[required]"><option value="Afghanistan">Afghanistan</option> 

Yakut Kodu: kimlik ve ben hiçbir şans ile de kimliği ve CSS seçicisi tarafından denedim :(Ben HTML ve aşağıda Selenyum kodunu yayınlayacağız aşağıdaki java yolu webdriver seçin kullanarak seçeneğine tıklayın açılır listeler

Select dropdown = new Select(driver.findElement(By.id("your id"))); 

    dropdown.selectByVisibleText("option text here"); 

veya

dropdown.selectByIndex(1); 

veya

dropdown.selectByValue("value attribute of option"); 

Yani gerek

seçin.

sorun "# dropdown_7" olarak id belirterek olmasıdır, Murali

0

geçerli: Listedeki seçenekler tıklayarak için

Selenium::WebDriver::Support::Select.new(
    @driver.find_element(:how, :what) 
).select_by(:how, :what) 
0

kullanın JavaScript vasisi.

public void javascriptclick(String element) 
{ 
    WebElement webElement=driver.findElement(By.xpath(element)); 
    JavascriptExecutor js = (JavascriptExecutor) driver; 

    js.executeScript("arguments[0].click();",webElement); 
    System.out.println("javascriptclick"+" "+ element); 
}