Java 如何使用Selenium从用于表单填充的chrome自动填充框中选择值

Java 如何使用Selenium从用于表单填充的chrome自动填充框中选择值,java,google-chrome,selenium-webdriver,autofill,Java,Google Chrome,Selenium Webdriver,Autofill,我想从Chrome autofill建议框中选择值,每当您使用selenium填写表单时,该框就会出现。 我尝试过sendkey(Keys.ARROWDOWN),但它不起作用。 请建议我如何使用selenium java实现这一点。刚刚尝试过,似乎很有效: package navi; import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent; import org.junit.Aft

我想从Chrome autofill建议框中选择值,每当您使用selenium填写表单时,该框就会出现。 我尝试过sendkey(Keys.ARROWDOWN),但它不起作用。
请建议我如何使用selenium java实现这一点。

刚刚尝试过,似乎很有效:

package navi;

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class Monika {
    private static WebDriver driver;

    WebDriverWait wait5s = new WebDriverWait(driver,5);

    @BeforeClass
    public static void setUpClass() {
        System.setProperty("webdriver.chrome.driver", "C:\\Users\\pburgr\\Desktop\\chromedriver\\chromedriver.exe");
        ChromeOptions options = new ChromeOptions();
        options.addArguments("user-data-dir=C:\\Users\\pburgr\\AppData\\Local\\Google\\Chrome\\User Data");
        driver = new ChromeDriver(options);
        driver.manage().window().maximize();}   
    @Before
    public void setUp() {}
    @After
    public void tearDown() {}
    @AfterClass
    public static void tearDownClass() {driver.close();driver.quit();}
    @Test
    public void autofill_first_value () throws InterruptedException, AWTException {

        driver.get("https://www.google.com/");
        WebElement fld_search = wait5s.until(ExpectedConditions.elementToBeClickable(By.id("lst-ib")));
        fld_search.click();
        fld_search.sendKeys("french");

        Robot rob = new Robot();                          
        rob.keyPress(KeyEvent.VK_DOWN); 
        rob.keyRelease(KeyEvent.VK_DOWN);
        Thread.sleep(1000);

        String foo1 = driver.findElement(By.xpath("//*[@id=\"sbse0\"]/div[2]/b")).getText();
        fld_search.sendKeys(" " + foo1);

        Thread.sleep(5000);

        // hit the search button...
    }
}

欢迎来到堆栈溢出!请参阅:SO的期望是,用户提问时不仅要进行研究以回答自己的问题,还要分享研究、代码尝试和结果。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另请参见:非常感谢,Robot rob=新机器人();rob.keyPress(KeyEvent.VK_DOWN);rob.keyRelease(KeyEvent.VK_向下);睡眠(1000);为我工作。