【问题标题】:autocomplete does not get populate after entering text from selenium从 selenium 输入文本后,自动完成不会被填充
【发布时间】:2017-06-16 06:51:09
【问题描述】:

我正在测试的网站有一个用于输入位置的文本框。当我输入一个字符时,Google API 会在文本框下方发送与该字符匹配的位置列表。这是snapshot of autocomplete options

我正在尝试在 selenium 中自动化这个场景。但问题是当我执行 textbox.sendkeys("text") 时,从 Google API 填充位置列表不会发生。

我尝试过隐式和显式等待,计时器最多 200 秒,但它仍然不起作用。我试过了,在 sendkeys() 之前 click(),在 sendkeys() 之后 KEYS.Arrow_down 和 mouseclick。但它似乎仍然不起作用。 请提供您的建议。

这是我的测试代码:

public void add_inv() throws Exception{
        commands.implicitwait(driver);
        Inventory.btn_addinventory(driver).click();
        Inventory.btn_addlocation(driver).click();
        Inventory.txt_locAddr(driver).click();
        commands.implicitwait(driver);
        Inventory.txt_locAddr(driver).click();
        Inventory.txt_locAddr(driver).sendKeys("bangalore", Keys.ARROW_DOWN);
        commands.setDefaultTimeout(100);
        commands.implicitwait(driver);
        String loctext = driver.findElement(By.xpath("html/body/div[3]/div[1]/span[3]")).getText();
        System.out.println("loctext: "+loctext);
}

【问题讨论】:

  • 该应用程序是否可供公众查看以便我们试用?
  • 对不起,现在在本地暂存。
  • 它是一直发生还是曾经发生过?
  • 总是发生..

标签: java selenium selenium-webdriver google-api


【解决方案1】:

尝试下面给出的动作类。

public void add_inv() throws Exception{
        commands.implicitwait(driver);
        Inventory.btn_addinventory(driver).click();
        Inventory.btn_addlocation(driver).click();
        Inventory.txt_locAddr(driver).click();
        commands.implicitwait(driver);
        Inventory.txt_locAddr(driver).click();
        //Inventory.txt_locAddr(driver).sendKeys("bangalore", Keys.ARROW_DOWN);
        new Actions(driver).sendKeys(Inventory.txt_locAddr(driver),"bangalore").perform();
        String loctext = driver.findElement(By.xpath("html/body/div[3]/div[1]/span[3]")).getText();
        System.out.println("loctext: "+loctext);
}

【讨论】:

  • 我按照你的建议尝试了动作类,似乎不起作用!
  • 请检查您的定位器的输入框。否则共享 HTML 代码。
  • 这里是:
  • 请试试这个。 Inventory.txt_locAddr(driver).sendKeys("bangalore"); ((JavascriptExecutor)driver).executeScript(Inventory.txt_locAddr(driver).getAttribute("ng-change"));
  • 试过这个。它给出了这个错误:org.openqa.selenium.WebDriverException:inventorySearchChng 没有定义
猜你喜欢
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 2017-04-27
  • 1970-01-01
  • 2017-09-25
  • 1970-01-01
  • 1970-01-01
  • 2013-08-26
相关资源
最近更新 更多