在eclipse中新建一个项目baidutest;再在src文件夹中新建一个包com.baidutest.homework;再在包中新建一个java类baidusetting,并设置为静态类;最后在项目中新建一个lib文件夹,将selenium的所有架包拷贝到lib文件夹中,并设置选中项目baidutest,右键选择Bulid Path->Configure Bulid Path,将lib中的所有架包添加到Libraries中。至此selenium包配置完毕。
有什么疑惑可以参照百度经验:eclipse+java添加外部架包
现在要做的是:打开百度页面,点击设置中的搜索设置,修改搜索设置中的选项。代码如下:
package com.baidutest.homework;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By.ById;
import java.util.*;//保证List使用正确
public class baidusetting {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
//告诉计算机浏览器驱动在哪里
System.setProperty("webdriver.chrome.driver",
"C:\\Users\\Dell\\Downloads\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
//访问百度网址
driver.get("https://www.baidu.com/");
driver.manage().window().maximize();//窗口最大化
//模拟将鼠标放置在搜索上
Actions action=new Actions(driver);
action.moveToElement(driver.findElement(By.xpath("//*[@id=\"u1\"]/a[8]"))).perform();
Thread.sleep(2000);
driver.findElement(By.linkText("搜索设置")).click();
Thread.sleep(2000);
//此时有两个页面,一个是百度页面,一个是搜索设置页面
String handle_baidu=driver.getWindowHandle();
System.out.println("当前页面的标题为:"+driver.getTitle());//打印目前页面的标题
//如果当前的窗口句柄数不为1,则执行切换窗口
if (driver.getWindowHandles().size()!=1) {
//循环遍历,找到登录页面的句柄,并切换到登录页面
for (String handles:driver.getWindowHandles())
{
if (handles.equals(handle_baidu)) {
continue;
}
driver.switchTo().window(handles);//切换到登录页面
}
System.out.println("切换之后页面的标题为:"+driver.getTitle());//打印目前页面的标题
}
//搜索框提示
if (driver.findElement(By.id("s1_2")).isSelected()==false) {
driver.findElement(By.id("s1_2")).click();
}
Thread.sleep(1000);
//搜索语言范围
List radios=driver.findElements(By.name("SL"));
if (radios.get(1).isSelected()==false) {
radios.get(1).click();
}
Thread.sleep(1000);
//搜索结果显示条数
Select select=new Select(driver.findElement(ById.cssSelector("select[name='NR']")));
select.selectByIndex(1);//选择每页显示20条
Thread.sleep(2000);
//实时预测功能
Select select_yuce=new Select(driver.findElement(ById.cssSelector("select[name='issw1']")));
select_yuce.selectByVisibleText("关闭");//选择关闭实时预测功能
Thread.sleep(1000);
//搜索历史记录
if (driver.findElement(By.id("sh_1")).isSelected()==false) {
driver.findElement(By.id("sh_1")).click();
}
Thread.sleep(1000);
//通栏浏览模式
if (driver.findElement(By.id("stb_2")).isSelected()==false) {
driver.findElement(By.id("stb_2")).click();
}
Thread.sleep(1000);
driver.findElement(By.xpath("//*[@id=\"gxszButton\"]/a[1]")).click();
Thread.sleep(2000);//停顿2秒
//处理弹出框
Alert alert=driver.switchTo().alert();
alert.accept();//. accept() 相当于点击它的"确认";. dismiss() 相当于点击"取消"或者叉掉对话框
Thread.sleep(3000);//停顿3秒
driver.quit();
}
}