• 章节十四、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”问我,群里都是软件行业的小伙伴相互一起学习。

  • 相关阅读:
    求正整数N(N>1)的质因数的个数。
    手机键盘输入字母
    第二部分进度
    第一部分:地域维度标准化
    利用python解析地址经纬度
    输入任意4个字符(如:abcd), 并按反序输出(如:dcba)
    python-->微信支付
    python-图片流传输(url转换二维码)
    python-qrcode-二维码
    ajax和axios、fetch的区别
  • 原文地址:https://www.cnblogs.com/luohuasheng/p/10913720.html
Copyright © 2020-2023  润新知