Selenium WebDriver
安装Selenium WebDriver Java客户端
1.到https://docs.seleniumhq.org/download/下载
3.到eclipse新建java project
4.在src文件下新建class
5.在project右键——>properties
6.左侧选择java build path
7.切换到Libraries 选项卡,然后单击“Add External JARs” 按钮。
8.选择刚刚那个解压的文件,将下面两个图的jar包分别导入,然后选择Apply and Close 。
9.打开网址https://github.com/mozilla/geckodriver/releases选择相应版本下载,下载后解压。
常用命令
获取网页
driver.get("www.yiibai.com");//使用Get方法
driver.navigate().to("https://yiibai.com/selenium/");//使用Navigate方法
查找表单并发送用户输入
driver.findElement(By.id("kw")).sendKeys("aaaa");//查找id="kw",并且输入aaaa
清除用户输入
driver.findElement(By.name("q")).clear();
通过Web元素获取数据
有时需要获取通过web元素写入的文本来执行某些断言和调试。使用getText()方法来获取通过任何web元素写入的数据。
driver.findElement(By.id("element567")).getText();
执行Click事件
click()方法用于对任何Web元素执行单击操作。
driver.findElement(By.id("btnK")).click();
在浏览器历史记录中向后导航
driver.navigate().back();
在浏览器历史记录中向前导航
driver.navigate().forward();
刷新/重新加载网页
driver.navigate().refresh();
关闭浏览器
driver.close();
关闭浏览器和与驱动程序关联的其他所有其他窗口
driver.quit();
在Windows之间移动
driver.switchTo().window("windowName");
在 frame 之间移动
driver.switchTo().frame("frameName");
拖放
使用Action类执行拖放操作。
WebElement element = driver.findElement(By.name("source"));
WebElement target = driver.findElement(By.name("target"));
例子
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxBinary;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.GeckoDriverService;
public class First {
public static void main(String[] args) {
// declaration and instantiation of objects/variables
System.setProperty("webdriver.gecko.driver", "D:\\桌面\\geckodriver-v0.29.1-win64\\geckodriver.exe");
System.setProperty("webdriver.firefox.bin", "D:\\软件\\浏览器\\Mozilla Firefox\\firefox.exe");
//WebDriver是一个接口,后面FirefoxDriver,ChromeDriver都是类
WebDriver driver = (WebDriver) new FirefoxDriver();//火狐浏览器
driver = new ChromeDriver();//谷歌浏览器
driver.get("http://121.251.136.136/jwglxt/xtgl/login_slogin.html");//通过get方法获取网页
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);/
String titile = driver.getTitle();//获取title值
System.out.println("title is => " + titile);
driver.findElement(By.id("yhm")).sendKeys("11111"); //找到id为yhm,输入值
driver.findElement(By.id("mm")).sendKeys("111111");
driver.findElement(By.id("dl")).click();//找到id为dl,点击
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// Todo Auto-generated catch block
e.printstacktrace();
}
//driver.quit();
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。