无法从网站(goibibo.com)选择城市名称

时间:2019-06-08 06:24:45

标签: selenium xpath selenium-chromedriver

我是硒的新手。我正在尝试自动化网站goibibo.com,并在网站中尝试使用xpath在“发件人”文本框中输入城市名称为“ Chennai”,并显示了一些建议。从这些建议中,我想选择“ Chennai”。

使用Selenium Java 3.141.59,Java SE 1.8。我尝试使用硒键库。当我从中输入“ Chennai”时,我试图单击向下箭头,然后单击Enter键。 (我尝试过手动执行此操作,并且奏效了。所以我很累使用硒键库来完成此操作,该库提供了执行键盘操作的功能。)Image of the website and the dropdown

    WebDriver driver = new ChromeDriver();
    driver.get("https://www.goibibo.com");
    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
    driver.findElement(By.id("gosuggest_inputSrc")).sendKeys("Chennai");
    driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
    driver.findElement(By.xpath("//input[@id='gosuggest_inputSrc']")).sendKeys(Keys.chord(Keys.ARROW_DOWN, Keys.ENTER));

我希望代码输入chennai文本,并且在下拉菜单中应转到第一个文本,然后单击Enter。这样我将在“发件人”文本框中获得所需的源电台。该代码未显示任何错误。它正在输入值Chennai及其它。它没有采取任何措施。

1 个答案:

答案 0 :(得分:0)

1秒内的时间不足。请尝试以下代码,以避免隐式等待。

 driver.get("https://www.goibibo.com/");
 driver.manage().window().maximize();

 driver.findElement(By.id("gosuggest_inputSrc")).sendKeys("Chennai");
 WebDriverWait wait = new WebDriverWait(driver, 10);
 wait.until(ExpectedConditions.presenceOfElementLocated(By.id("react-autosuggest- 
 1")));

 driver.findElement(By.id("gosuggest_inputSrc")).sendKeys(Keys.DOWN);
 driver.findElement(By.id("gosuggest_inputSrc")).sendKeys(Keys.ENTER);