2017-01-17 99 views
0

無法單擊並從動態下拉列表中選擇值。請找到下面的代碼 -無法單擊並從動態下拉列表中選擇值

public static void main(String[] args) 
{ 
    // TODO Auto-generated method stub 
    //System.setProperty("webdriver.chrome.driver", "C:\\Chrome Driver\\chromedriver.exe"); 
    //WebDriver Driver = new ChromeDriver(); 

    WebDriver Driver = new FirefoxDriver(); 
    Driver.get("http://www.spicejet.com/"); 

    Driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS) 

    Driver.findElement(By.xpath(".//*[@id='ctl00_mainContent_ddl_originStation1_CTXT']")).click(); 
} 

此外,我注意到Eclipse不斷打開Spicejet.com運行後,它並沒有任何下降點擊了下來。要停止執行,我需要手動點擊Terminate按鈕,否則它不會停止並持續很長時間(我相信4-6小時)

+0

爲什麼在'main'函數中運行這些函數?除了上面的代碼,是否有代碼使用了一些循環或者什麼導致測試繼續運行!? –

回答

0

您可以使用以下代碼來選擇任何值,在此代碼中,我選擇了Goa(GOI)。有關更多信息,它不是一個下拉菜單。這是一個網絡表。

WebDriver driver = new FirefoxDriver(); 
    driver.manage().window().maximize(); 
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
    driver.get("http://www.spicejet.com/"); 

    driver.findElement(By.id("ctl00_mainContent_ddl_originStation1_CTXTaction")).click(); 
    driver.findElement(By.xpath("//div[@id='dropdownGroup1']/div/ul[2]/li[4]/a")).click(); 
+0

感謝您的幫助Maninder..its現在工作 –

0

當我打開該網站時,它有時似乎等待用戶選擇移動或桌面版網站。這是爲什麼它掛?

如果我點擊過去認爲(或者與硒代碼或手動):

x1path = "//a[@class='desktop-view-button']" 
WebDriverWait(driver,15).until(EC.presence_of_element_located((By.XPATH,x1path))) 
driver.find_element_by_xpath(x1path).click() 

這個代碼打開菜單:

x1path = '//*[@id="ctl00_mainContent_ddl_originStation1_CTXTaction"]' 
WebDriverWait(driver,15).until(EC.presence_of_element_located((By.XPATH,x1path))) 
driver.find_element_by_xpath(x1path).click() 

但你必須選擇你想要的下拉元素(我不認爲你的代碼是這樣做的。)

x1path = '//div[@id="dropdownGroup1"]/div/ul/li[6]/a' 
WebDriverWait(driver,15).until(EC.presence_of_element_located((By.XPATH,x1path))) 
driver.find_element_by_xpath(x1path).click() 

ul/li[6]選擇第6 elem在第一列(貝拉加維)。