Elemento no se mueve dentro de la lona

Manos amigas :

Estoy tyring para mover elemento dentro de la lona pero de alguna manera que no está sucediendo.

Código Traté:

        Actions actions = new Actions(driver);
        actions.moveToElement(flowCanvas, 434, 177);
        actions.clickAndHold();
        actions.moveToElement(flowCanvas, 592 , 373);
        actions.release();
        actions.perform();

Mi XPath:

   @FindBy(xpath = "//div[@id='diagramDiv']//canvas")
    protected WebElement flowCanvas;

URL en la que estoy tratando: https://gojs.net/latest/samples/panelLayout.html

Estoy usando WebDriver selenio y Java. No estoy recibiendo ningún error en el código anterior, pero no se mueve el elemento así.

Tratar de mover el elemento siguiente:

introducir descripción de la imagen aquí

bbl:

Básicamente, el problema es con las coordenadas que se utiliza y la implementación del controlador Bowser / web que está utilizando. La especificación del W3C establece que los comandos de acción es compensado desde el centro del elemento. Pero no todos los controladores implemntations web siguiendo ese. Así que, básicamente, el moveToElementdesplazamientos x e y para el conductor Gecko (Firefox) se calculan a partir del centro del elemento en su caso desde el centro de la tela, pero para Chrome controlador (Google Chrome) los cordinates se calulated desde la esquina superior izquierda. Así que si quieres un soporte borwser cruz de arrastrar y soltar se necesita algo como esto.

WebDriver driver = getDriver();

driver.get("https://gojs.net/latest/samples/panelLayout.html");
WebElement flowCanvas = driver.findElement(By.xpath("//div[@id='myDiagramDiv']//canvas"));

if(isGoogleChrome()){
    new Actions(driver)
   .moveToElement(flowCanvas, 100, 125).clickAndHold()
   .moveToElement(flowCanvas, 150, 175).release()
   .perform();
} else if (isFireFox()){
    new Actions(driver)
    .moveToElement(flowCanvas, -50, -50).clickAndHold()
    .moveToElement(flowCanvas, 100, 100).release()
    .perform();
}

Como se puede ver por Firefox debe utilizar valores negativos para mover el ratón desde el centro hasta el elemento superior izquierda en el lienzo y para el cromo tiene que mover el ratón un poco abajo ya la derecha.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=206998&siteId=1
Recomendado
Clasificación