如何自动完成自动填充文本框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何自动完成自动填充文本框相关的知识,希望对你有一定的参考价值。

我正在尝试自动化一个测试用例,其中文本框提供智能来自动完成该字段。请在下面找到自动填充文本框的链接:qazxsw poi

请找到我写的代码

http://demoqa.com/autocomplete/

此代码无法在浏览器提供的智能中查找和查找选项。请帮忙。

答案

您无法在DOM中找到自动建议的选项元素,因为页面重新加载后这些选项的html ID会发生变化。

在这种情况下,您需要使用XPath来标识元素。假设您要单击Java自动建议选项,那么您的代码应该是 -

  dr.findElement(By.id("tagss")).sendKeys("a");
  Thread.sleep(300);
//  dr.findElement(By.id("ui-id-53")).click();
  Actions act = new Actions(dr);
  act.moveToElement(dr.findElement(By.id("ui-id-53"))).click().build().perform();

使用System.setProperty("webdriver.chrome.driver","C:\WebDriver\TestAutomation\grid\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("http://demoqa.com/autocomplete/"); driver.manage().window().maximize(); driver.findElement(By.id("tagss")).sendKeys("a"); WebDriverWait wait = new WebDriverWait(driver,10); wait.until(ExpectedConditions.visibilityOf(driver.findElement(By.id("ui-id-1")))); WebElement javaOption = driver.findElement(By.xpath(".//li[@class='ui-menu-item' and text()='Java']")); javaOption.click(); 不是好习惯

希望这能帮助你。

另一答案

因为您正在使用可能在运行时更改的动态ID。试试这个代码并告诉我任何疑问 -

Thread.sleep();

以上是关于如何自动完成自动填充文本框的主要内容,如果未能解决你的问题,请参考以下文章

Jquery ui自动完成填充带有ID​​的隐藏字段

Excel VBA在IE11中使用自动完成填充文本框

基于其他事件绑定自动完成文本框

文本框上的 Chrome 自动填充和自动完成问题

成功完成初始自动完成后,如何在 WinForm 文本框上重新启动自动完成?

您可以使用表格来填充 jQuery 自动完成文本框吗?