Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何模拟;图纸;是否使用SeleniumWebDriver(Java)?_Java_Selenium Webdriver_Drawing_Openlayers - Fatal编程技术网

如何模拟;图纸;是否使用SeleniumWebDriver(Java)?

如何模拟;图纸;是否使用SeleniumWebDriver(Java)?,java,selenium-webdriver,drawing,openlayers,Java,Selenium Webdriver,Drawing,Openlayers,我有一个在OpenLayers上运行的GIS API。我想进行徒手绘制,如: 我想用Selenium WebDriver(Java版本)模拟这个手绘图形,我已经尝试过: Actions act = new Actions(driver); act.moveToElement(source); // 'source' is a WebElement act.clickAndHold(); act.moveByOffset(5, 0); act.moveByOffset(10, 5); ac

我有一个在OpenLayers上运行的GIS API。我想进行徒手绘制,如:

我想用Selenium WebDriver(Java版本)模拟这个手绘图形,我已经尝试过:

Actions act = new Actions(driver);
act.moveToElement(source);    // 'source' is a WebElement
act.clickAndHold();
act.moveByOffset(5, 0);
act.moveByOffset(10, 5);
act.moveByOffset(20, 10);
act.moveByOffset(30, 15);
act.moveByOffset(-10, 20);
act.release();
act.build().perform();
new Actions(driver)
        .clickAndHold(source)
        .moveByOffset(50,-20)
        .moveByOffset(100,0)
        .release()
        .build()
        .perform();
但是,似乎在第一次
moveByOffset
之后才释放单击

我也试过:

Actions act = new Actions(driver);
act.moveToElement(source);    // 'source' is a WebElement
act.clickAndHold();
act.moveByOffset(5, 0);
act.moveByOffset(10, 5);
act.moveByOffset(20, 10);
act.moveByOffset(30, 15);
act.moveByOffset(-10, 20);
act.release();
act.build().perform();
new Actions(driver)
        .clickAndHold(source)
        .moveByOffset(50,-20)
        .moveByOffset(100,0)
        .release()
        .build()
        .perform();
但我得到的结果基本相同

在执行所有移动之前释放单击。我很确定这是可能的,而且我是错误的

你能帮帮我吗


谢谢

每次移动后使用如下等待:act.moveByOffset(5,0);等待(3000);行动。移动补偿(10,5);此等待将完成您的操作,然后执行下一个操作。@noor,谢谢,但它仍然不起作用。。。我认为clickAndHold()甚至不起作用。。。它什么也没画。。。您给出的“等待”提示也不起作用……因此,在单击并按住之后,请使用perfom,然后在等待时使用其他代码。您的代码似乎正常,但唯一的问题是操作没有按顺序进行。@不,仍然不起作用。。。你能举个例子吗?你说动作不是按顺序发生是什么意思?当我调用“build()”时,它不是应该按顺序连接所有操作吗?感谢againHi@joaorodr84您能找到问题的解决方案吗?我正在尝试使用selenium和Java在我的google地图中绘制一个多边形。提前感谢在每次移动后使用如下等待:act.moveByOffset(5,0);等待(3000);行动。移动补偿(10,5);此等待将完成您的操作,然后执行下一个操作。@noor,谢谢,但它仍然不起作用。。。我认为clickAndHold()甚至不起作用。。。它什么也没画。。。您给出的“等待”提示也不起作用……因此,在单击并按住之后,请使用perfom,然后在等待时使用其他代码。您的代码似乎正常,但唯一的问题是操作没有按顺序进行。@不,仍然不起作用。。。你能举个例子吗?你说动作不是按顺序发生是什么意思?当我调用“build()”时,它不是应该按顺序连接所有操作吗?感谢againHi@joaorodr84您能找到问题的解决方案吗?我正在尝试使用selenium和Java在我的google地图中绘制一个多边形。提前谢谢