zoukankan      html  css  js  c++  java
  • 章节十四、2-自动完成功能-Autocomplete

    一、什么是自动匹配功能?

    很多网站都有自动匹配功能,列如你在使用天猫搜索商品时,输入“鞋”,输入框的下面会出现很多与“鞋”有关的选项。

     

    二、以https://www.expedia.com/网站的城市输入框为例进行案例演示:

     1 package basicweb;
     2 
     3 import java.util.List;
     4 import java.util.concurrent.TimeUnit;
     5 
     6 import org.junit.jupiter.api.AfterEach;
     7 import org.junit.jupiter.api.BeforeEach;
     8 import org.junit.jupiter.api.Test;
     9 import org.openqa.selenium.By;
    10 import org.openqa.selenium.WebDriver;
    11 import org.openqa.selenium.WebElement;
    12 import org.openqa.selenium.chrome.ChromeDriver;
    13 
    14 class Autocomplete {
    15     WebDriver driver;
    16     String url;
    17 
    18     @BeforeEach
    19     void setUp() throws Exception {
    20         driver = new ChromeDriver();
    21         url = "https://www.expedia.com/";
    22         driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
    23         driver.manage().window().maximize();
    24         }
    25 
    26     @Test
    27     void test() {
    28         driver.get(url);
    29 //        我想要输入的值
    30         String partialText = "He";
    31 //        我想选择的值
    32         String searchingText = "rmosillo, Sonora, Mexico";
    33 //        把文本框定义出来
    34         WebElement text = driver.findElement(By.xpath("//label/input[@id='package-origin-hp-package']"));
    35 //        在文本框中输入“我想要输入的值”
    36         text.sendKeys(partialText);
    37 //        将匹配到的值都定位出来,放到集合中
    38         List<WebElement> xzText = driver.findElements(By.xpath("//span[@class='text']"));
    39 //        通过for循环读取集合中的原始
    40         for(WebElement xz:xzText) {
    41 //            判断输入的值是否包含在集合中
    42             if(xz.getText().contains(searchingText)) {
    43 //                如果匹配就点击
    44                 xz.click();
    45                 break;
    46             }
    47         }
    48     }
    49     
    50     @AfterEach
    51     void tearDown() throws Exception {
    52         Thread.sleep(2000);
    53         driver.quit();
    54     }
    55 }

    如果有不明白的小伙伴可以加群“555191854”问我,群里都是软件行业的小伙伴相互一起学习。

  • 相关阅读:
    markdown 常用语法
    markdown 转 pdf 方法
    git call failed: [git clone Could not resolve host: git.openstack.org
    从VirtualBox虚拟主机访问NAT客户机的方法
    MVC,MVP 和 MVVM 的图示
    url转义
    Python如何输出包含在对象中的中文字符?
    OpenGL
    AutoHotKey使用:空格键坏了怎么办?
    三联书社推荐好书100本
  • 原文地址:https://www.cnblogs.com/luohuasheng/p/10913720.html
Copyright © 2011-2022 走看看