ChromeDriver driver = new ChromeDriver();
String url1 = driver.getCurrentUrl();
String title1 = driver.getTitle();
- //每个页面都自己的唯一句柄,所以可以通过页面的句柄,跳转到指定页面
- String window = driver.getWindowHandle();//获取当前页面的句柄
- Set
windowHandles = driver.getWindowHandles();//获取访问过页面的所有句柄 - for (String handle : windowHandles) {
- if (!window.equals(handle)){
- System.out.println("跳转到最新打开的页面中");
- driver.switchTo().window(handle);//跳转到新的页面
- System.out.println("页面的句柄:" + handle);
- }
- }
- driver.manage().window().maximize();//窗口最大化
- driver.manage().window().minimize();//窗口最小化
- driver.manage().window().setSize(new Dimension(800,600));//设置指定尺寸
- driver.executeScript("window.scroll(0,document.body.scrollTop)");
- driver.executeScript("window.scroll(0,document.body.scrollHeight)");
1),前进:driver.navigate().forword()
2),后退driver.navigate().forword()
- driver.get("https://tool.lu/");
- Thread.sleep(2000);
- driver.findElement(By.cssSelector("#nav > div > div > ul > li:nth-child(1) > a")).click();
- Thread.sleep(2000);
- driver.navigate().back();//后退
- Thread.sleep(2000);
- driver.navigate().forward();//前进
1),普通弹窗的操作思路:
- driver.get("网页的url");//绑定网页
- WebElement element = driver.findElement(By.cssSelector("弹出弹窗的按钮的class"));
- element.click();//点击按钮
- WebElement element1 = driver.findElement(By.cssSelector("找到关闭弹窗的属性"));
- element.click();//点击关闭弹窗
- driver.get("网页的url");
- driver.findElement(By.xpath("点击会出现警告弹窗的链接的xpath")).click();
- Alert alert = driver.switchTo().alert();//获取弹窗事件
- //警告弹窗的class和id无法被全段代码定位,所以点击不需要通过找到属性的xpath或这css样式
- //直接接收
- alert.accept();//点击确认按钮
- alert.dismiss();//点击取消
3),输入弹窗处理思路:
- driver.get("网页的url");
- driver.findElement(By.xpath("点击会出现警告弹窗的链接的xpath")).click();
- Alert alert = driver.switchTo().alert();//获取弹窗事件
- //警告弹窗的class和id无法被全段代码定位,所以点击不需要通过找到属性的xpath或这css样式
- //直接接收
- alert.sendKeys("要输入的文本信息");//
- alert.accept();//点击确认按钮
- alert.dismiss();//点击取消
selenuim提供actions来模仿鼠标和键盘的操作
- driver.get("要测试的网页");
- WebElement element = driver.findElement(By.cssSelector("想要操作的元素"));
- Actions actions = new Actions(driver);//常见模拟鼠标键盘操作
- actions.clickAndHold(element).perform();//将鼠标移动到需要操作的位置并保持,演示
- actions.click(element).perform();//演示点击效果
-
- actions.sendKeys("键盘的操作").perform();//从模拟键盘输入
- driver.get("要测试的网页");
- WebElement element = driver.findElement(By.cssSelector("复选框classID"));
- Select select = new Select(element);
- select.selectByIndex(1);//通过索引选择列表项,索引从0开始
- select.selectByValue("name");//通过value值来选择列表项
- select.selectByVisibleText("列表项的文本内容");//通过可见文本来选择
selenium不能狗拉起系统的其他程序的窗口,因此可以使用sendKeys(“文件路径”)上传文件
- driver.get("要测试的网页");
- WebElement element = driver.findElement(By.cssSelector("上传文件的classID"));
- element.sendKeys("文件路径");//selenium无法拉取系统的其他程序,采用输入文件路径的方式,上传文件
- driver.get("要测试的网页");
- driver.navigate().refresh();//刷新页面
- driver.get("http://www.baidu.com");
- driver.findElement(By.cssSelector("#kw")).sendKeys("selenium");
- driver.findElement(By.cssSelector("#su")).click();
-
- //屏幕截图
- File file = new File("./src/test/screenShut/my.png");
- File screenshot = driver.getScreenshotAs(OutputType.FILE);
- try {
- FileUtils.copyFile(screenshot,file);
- } catch (IOException e) {
- e.printStackTrace();
- }
- driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(2));
- driver.findElement(By.cssSelector("#\\31 > div > div > h3 > a"));