Select 如何在Selenium中处理Redbus中的客房弹出窗口

Select 如何在Selenium中处理Redbus中的客房弹出窗口,select,selenium-webdriver,drop-down-menu,Select,Selenium Webdriver,Drop Down Menu,我正在自动化RedBus应用程序。在这里,我必须选择酒店名称、入住日期、退房日期、客房和搜索按钮。我正在选择酒店名称、入住日期、退房日期。 但是当我选择客房时,客房弹出窗口会打开,我可以选择3个房间,但之后弹出窗口不会关闭。所以它不会点击搜索按钮。 有人帮我处理这个弹出窗口吗 driver.findElement(By.id("guest_count")).click(); driver.findElement(By.xpath("//*[@class='ilbl selectbox a

我正在自动化RedBus应用程序。在这里,我必须选择酒店名称、入住日期、退房日期、客房和搜索按钮。我正在选择酒店名称、入住日期、退房日期。 但是当我选择客房时,客房弹出窗口会打开,我可以选择3个房间,但之后弹出窗口不会关闭。所以它不会点击搜索按钮。 有人帮我处理这个弹出窗口吗

driver.findElement(By.id("guest_count")).click();

driver.findElement(By.xpath("//*[@class='ilbl selectbox a 
    control']//select")).click();


Select selectRoom=new Select(driver.findElement(By.xpath("//*[@class='ilbl selectbox a control']//select")));

selectRoom.selectByVisibleText("3");
Thread.sleep(500);
driver.findElement(By.id("search_hotel")).click();
截图:
您的脚本单击搜索按钮上的。由于脚本未选择任何城市,因此会弹出一个选择城市的弹出窗口。如果使用下面的代码段选择城市

driver.findElement(By.xpath("//*[@id=\"search_key\"]")).sendKeys("bangalore");
driver.findElement(By.xpath("//*[@id=\"search_wrapper\"]/div[2]/div/div[1]")).click();
然后单击搜索,它将为您提供预期的结果

我使用了下面的代码片段,它在搜索按钮上单击了,得到了预期的结果

driver.get("https://www.redbus.in/hotels/");
String windowHandle = driver.getWindowHandle();
driver.switchTo().window(windowHandle);

driver.findElement(By.xpath("//*[@id=\"search_key\"]")).sendKeys("Radisson Blu Resort Goa");
Thread.sleep(2000);
driver.findElement(By.xpath("//*[@id=\"search_wrapper\"]/div[2]/div/div[1]")).click();

driver.findElement(By.id("guest_count")).click();

driver.findElement(By.xpath("//*[@class='ilbl selectbox a control']//select")).click();

Select selectRoom = new Select(driver.findElement(By.xpath("//*[@class='ilbl selectbox a control']//select")));

selectRoom.selectByVisibleText("3");
Thread.sleep(500);
driver.findElement(By.xpath("//button[@id=\"search_hotel\"]")).click();

请读一读为什么会这样。考虑用格式化的基于文本的相关HTML来更新问题,代码测试和错误堆栈跟踪。@ DeBayJunb你是认真的吗?@普拉文库马先生,这是你所有的创造:我不明白,但我只是问你,你是否读过这个问题。我觉得不错。这就是问题的原因。对不起,如果我冒犯了你…@PraveenKumar先生,我们以你树立的榜样为榜样,没有冒犯:)谢谢你的快速反应。我在这里预定旅馆。所以我选择了酒店名称、入住日期、退房日期。但在选择房间时,它没有响应。将代码片段添加到我的答案中。希望这有帮助。