我想选择自动完成文本框中显示的第一个选项。下面是我尝试过但没有得到所需输出的代码。
代码:
public void clickSublink() throws IOException, InterruptedException {
System.setProperty("webdriver.chrome.driver","F:\\Amitha\\chromedriver.exe");
WebDriver dr=new ChromeDriver();
dr.get("http://demoqa.com/autocomplete/");
dr.findElement(By.xpath("//input[@id='tags']")).sendKeys("b");
dr.findElement(By.xpath("//ul[@id='ui-id-1']//child::li")).click();
}
最佳答案
从autocomplete中选择第一个选项文本框,您需要使用 elementToBeClickable()
并且可以使用以下任一 Locator Strategies :
css选择器
:driver.get("http://demoqa.com/autocomplete/"); new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.ui-autocomplete-input#tags"))).sendKeys("b"); new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("ul.ui-autocomplete>li>div"))).click();
xpath
:driver.get("http://demoqa.com/autocomplete/"); new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@class='ui-autocomplete-input' and @id='tags']"))).sendKeys("b"); new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//ul[@class='ui-menu ui-widget ui-widget-content ui-autocomplete ui-front']/li/div"))).click();
关于java - 自动完成文本框第一个选项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59835308/