【问题标题】:Unable to select the city name from the website (goibibo.com)无法从网站 (goibibo.com) 中选择城市名称
【发布时间】:2019-06-08 15:27:23
【问题描述】:

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

使用 Selenium Java 3.141.59、Java SE 1.8。我尝试使用 selenium Keys 库。当我输入 from 作为“Chennai”时,我试图单击向下箭头,然后单击 Enter 键。 (我尝试手动执行此操作并且它有效。所以我厌倦了使用 selenium 键库来执行此操作,该库为我提供了执行键盘操作的功能。)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。这样我就可以在“发件人”文本框中获得所需的源站。代码没有显示任何错误。它正在输入价值作为钦奈和它。它没有执行任何操作。

【问题讨论】:

    标签: selenium xpath selenium-chromedriver


    【解决方案1】:

    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      相关资源
      最近更新 更多