使用Selenium Action类无法在图片上绘制可保存线条问题求助
解决Selenium绘制线条后无法保存的问题
我一眼就看出问题所在了——你这段代码里连续调用了两次clickAndHold(),但从头到尾都没有执行鼠标释放的操作!浏览器的绘图逻辑通常需要按下鼠标→拖动→释放鼠标的完整流程,你一直按住鼠标不松开,系统就不会判定这条线条绘制完成,自然没法保存。
给你调整后的代码,核心就是在拖动到终点后加上release()来释放鼠标:
WebElement element = driver.findElement(By.xpath(".//*[@id='imageViewer']")); Actions builder = new Actions(driver); // 移动到起始点并按下鼠标 builder.moveToElement(element, 785, 322) .clickAndHold() // 拖动到目标终点 .moveToElement(element, 1130, 261) // 释放鼠标,完成绘制动作 .release() .build() .perform(); Thread.sleep(10000);
另外提个小建议:尽量避免用Thread.sleep()这种硬等待,换成Selenium的WebDriverWait显式等待会让你的脚本更稳定,比如可以等待绘图区域的状态变化后再继续后续操作。
内容的提问来源于stack exchange,提问作者subhagat purohit
相关产品推荐
相关产品推荐

