首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Selenium-Java脚本在画布上绘制签名

无法使用Selenium-Java脚本在画布上绘制签名
EN

Stack Exchange QA用户
提问于 2020-03-24 12:22:14
回答 1查看 1.4K关注 0票数 0

我在下面的代码中使用了多个点,但它仍然没有在画布上画一个点。它甚至没有认识到这一要素。还有其他自动化的选择吗?

代码语言:javascript
复制
WebElement element = driver.findElement(By.xpath("xpath of canvas"));

Actions builder = new Actions(driver);
Action drawAction = builder.moveToElement(element,135,15) //start points x axis and y axis. 
          .click()
          .moveByOffset(200, 60) // 2nd points (x1,y1)
          .click()
          .moveByOffset(100, 70)// 3rd points (x2,y2)
          .doubleClick()
          .build();
drawAction.perform();
EN

回答 1

Stack Exchange QA用户

发布于 2020-03-27 23:32:07

使用单击并保持而不是单击,单击只会单击鼠标并突然释放它。

下面的代码是一个示例:

代码语言:javascript
复制
           System.setProperty("webdriver.chrome.driver","c:/chromedriver.exe");
           WebDriver driver = new ChromeDriver();
           driver.manage().window().maximize();
           driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS) ;
           driver.get("http://apps.zetakey.com/signsend/");


           Actions builder = new Actions(driver);
           Action drawAction = builder.moveToElement(driver.findElement(By.cssSelector("[id='newSignature']"))) //start points x axis and y axis. 
                     .clickAndHold()
                     .moveByOffset(-50, 60) // 2nd points (x1,y1)
                     .moveByOffset(-60, -70)// 3rd points (x2,y2)
                     .moveByOffset(150, 60) // 2nd points (x1,y1)
                     .moveByOffset(-60, -70)// 3rd points (x2,y
                     .doubleClick()
                     .build();
           drawAction.perform();
           Thread.sleep(6000);

阅读更多关于动作课的内容,请访问:

https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/interactions/Actions.html

票数 1
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/43059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档