selenium处理Ajax浮动框方法

Posted "花田李氏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium处理Ajax浮动框方法相关的知识,希望对你有一定的参考价值。

package com.allin.pc;

import java.util.List;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.By;
import org.openqa.selenium.javascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;


/*
*
*Ajax浮动框
*/
public class AjaxTest {
    WebDriver driver;
    String baseUrl;
    JavascriptExecutor js;
    public static void sleep(double d){
        try {
            d *= 1000;
            Thread.sleep((int)d);
        } catch (Exception e) {
            // TODO: handle exception
        }
    }
    
    @BeforeClass
    public void setUp(){
        baseUrl = "http://www.sogou.com";
        System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
        driver = new ChromeDriver();
        driver.manage().window().maximize();
        
    }
    
    @AfterClass
    public void tearDown(){
        driver.close();
    }
    
    @Test
    public void teatAjaxDivOption(){
        driver.get(baseUrl);
        //首页搜索输入框
        WebElement searchInput = driver.findElement(By.id("query"));
        //搜索框单击一下
        searchInput.click();
        sleep(3);
        //将浮动框中的所有选项存储到suggetionOptions的list容器中
        List<WebElement> suggetionOptions = driver.findElements(By.xpath("//*[@id=‘vl‘]/div/ul/li"));
        /*
         * 使用for循环遍历容器中所有选项,判断如果某个选项包含“xxxx”这几个关键字
         * 则堆这个选项进行单击操作,单击后选项的文字内容会显示在搜索框中,并进行搜索
         */
        for(WebElement element: suggetionOptions){
            if(element.getText().contains("女神老师组团")){
                System.out.println(element.getText());
                sleep(3);
                element.click();
                sleep(3);
                break;
            }
        }
    }
}









































































以上是关于selenium处理Ajax浮动框方法的主要内容,如果未能解决你的问题,请参考以下文章

在Ajax方式产生的浮动框中,点击选项包含某个关键字的选项

selenium自动化测试-处理iframe

selenium环境配置

Selenium处理alert/confirm/prompt提示框

selenium测试(Java)-- 显式等待

selenium基础(警告框的处理)