C# 无法单击并从动态下拉列表中选择值
无法单击并从动态下拉列表中选择值。请找到下面的代码-C# 无法单击并从动态下拉列表中选择值,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,无法单击并从动态下拉列表中选择值。请找到下面的代码- 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(); W
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
之后一直在运行,并且没有单击任何下拉列表。要停止执行,我需要手动单击终止
按钮,否则它不会停止并持续很长时间(我相信是4-6小时)当我打开该网站时,它有时似乎会等待用户选择移动或桌面站点。这就是为什么要挂起来
如果我点击该按钮(使用Selenium代码或手动):
此代码打开菜单:
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()
但是,您必须选择所需的下拉元素(我认为您的代码不会这样做)
ul/li[6]
选择第一列中的第六个元素(Belagavi)。您可以使用以下代码选择任何值,在该代码中,我选择了Goa(GOI)。关于更多信息,它不是下拉列表。这是一张web表
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();
为什么在“main”函数中运行这些?除了上面提到的代码外,还有没有其他代码使用了一些循环或者导致测试继续运行的代码!?
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()
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();