无法单击并从动态下拉列表中选择值。请找到下面的代码 -
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 :(得分:0)
当我打开该网站时,有时似乎等待用户选择移动或桌面网站。这就是为什么它会悬挂?
如果我点击它(使用Selenium代码或手动):
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]
选择第一列(Belagavi)中的第6个元素。
答案 1 :(得分: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();