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浮动框方法的主要内容,如果未能解决你的问题,请参考以下文章