• [Selenium]计算坐标进行拖拽,重写dragAndDropOffset


    //@author jzhang6
    	public void dragAndDropOffset(WebDriver driver,WebElement dragableEl, WebElement dropableEl, int offsetX, int offsetY){
    		Actions action = new Actions(driver);
    		action.clickAndHold(dragableEl).build().perform();
    		action.moveByOffset(offsetX, offsetY);
    		action.release(dropableEl);
    		action.build().perform();
    	}
    
    //@author jzhang6
    	public void dragWidget(String widgetName){
    		WebElement widgetIconEl=page.getWidgetIconInDockMenu(widgetName);
    		((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", widgetIconEl);
    		
    		WebElement workspaceEl=page.getWorkSpace();
    		Point initialPositon = widgetIconEl.getLocation();
    		Point targetPositon = workspaceEl.getLocation();
    		int offsetX = (targetPositon.getX() - initialPositon.getX())/2;
    		int offsetY = (targetPositon.getY() - initialPositon.getY())/2;
    		System.out.println("Drag widget to : ("+offsetX+","+offsetY+")");
    		
    		WebElement dropableEl=page.getDropableIconInWorkspace();
    		
    		this.dragAndDropOffset(driver,widgetIconEl,dropableEl,offsetX, offsetY);
    		
    		SeleniumUtil.waitUntilAllAjaxRequestCompletes(driver);
    		this.waitForLoadingDoneInNewWebPage(driver);
    	}
    
  • 相关阅读:
    IIS6.0PUT漏洞的利用
    练习1--利用python获取百度前3页搜索结果(可更改页数)
    笔记整理6——用python实现IP流量分析
    Django ORM 那些相关操作
    Django 中得ORM介绍和字段及字段参数
    Django 的 路由系统
    Django
    Django 的 之 视图
    Django 框架
    Django 中ORM 的使用
  • 原文地址:https://www.cnblogs.com/MasterMonkInTemple/p/4537699.html
Copyright © 2020-2023  润新知