java - 如何使用 Selenium 从自动完成文本框中选择文本

标签 java selenium selenium-webdriver browser-automation

我需要在自动完成文本框中输入一些文本。
然后我将从该自动完成选项中选择一个选项并需要单击它。

我曾尝试使用以下代码:

public static void main(String[] args) throws InterruptedException {
    // TODO Auto-generated method stub
    String textToSelect = "headlines today";

    WebDriver driver = new FirefoxDriver();
    driver.get("https://www.google.co.in/");
    Thread.sleep(2000);
    WebElement autoOptions= driver.findElement(By.id("lst-ib"));
    autoOptions.sendKeys("he");

    List<WebElement> optionsToSelect = driver.findElements(By.tagName("li"));

    for(WebElement option : optionsToSelect){
        System.out.println(option);
        if(option.getText().equals(textToSelect)) {
            System.out.println("Trying to select: "+textToSelect);
            option.click();
            break;
        }
    }

最佳答案

public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
String textToSelect = "headlines today";

WebDriver driver = new FirefoxDriver();
driver.get("https://www.google.co.in/");
Thread.sleep(2000);
WebElement autoOptions= driver.findElement(By.id("lst-ib"));
autoOptions.sendKeys("he");

List<WebElement> optionsToSelect = driver.findElements(By.xpath("//div[@class='sbqs_c']"));

for(WebElement option : optionsToSelect){
    System.out.println(option);
    if(option.getText().equals(textToSelect)) {
        System.out.println("Trying to select: "+textToSelect);
        option.click();
        break;
    }
}

关于java - 如何使用 Selenium 从自动完成文本框中选择文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30863828/

相关文章:

java - 如何让runtime.exec()在Java中的多操作系统上工作?

java - 在 bukkit 中创建自定义 list

javascript - 我应该明确等待元素在 Protractor 测试中可见吗?

javascript - Protractor :如何测试 window.print()

docker - Selenium docker 在 Windows 上崩溃(未知错误 : DevToolsActivePort file doesn't exist)

java - 使用 Maven,子模块如何继承父模块的存储库?

javascript - 如何使用 Selenium 进行硬刷新

qt - Qt WebKit 应用程序的自动化 GUI 测试

java - 我可以在java中加密密码来抵消网站弹出窗口吗?

java - 使用自签名证书和 SSLEngine (JSSE) 的 SSL 握手