c# – 未在webdriver截图中显示鼠标交互

c# – 未在webdriver截图中显示鼠标交互,第1张

概述我目前正在使用Selenium WebDriver 2.35,并且在拍摄屏幕截图时遇到了障碍.我写了一个小函数,它接受一个I​​WebElement并返回特定元素的屏幕截图.我试图截图的元素实际上是从精灵中提取的图像.但是这个元素很棘手,因为鼠标悬停/悬停时图像会从灰色变为真实颜色(通过移动到精灵的不同部分).我可以通过此功能获得图像的正确截图,但无法识别鼠标与ITakesScreenshot的交 我目前正在使用Selenium WebDriver 2.35,并且在拍摄屏幕截图时遇到了障碍.我写了一个小函数,它接受一个I​​WebElement并返回特定元素的屏幕截图.我试图截图的元素实际上是从精灵中提取的图像.但是这个元素很棘手,因为鼠标悬停/悬停时图像会从灰色变为真实颜色(通过移动到精灵的不同部分).我可以通过此功能获得图像的正确截图,但无法识别鼠标与ITakesScreenshot的交互.我可以在浏览器中直观地看到图像悬停在上面,但屏幕截图不能.有什么想法吗?
public static Bitmap Getimage(IWebElement element)    {        RemoteWebDriver driver = browserManager.GetInstance().GetDriver();        Actions action = new Actions(driver);        //take screenshot of page        action.MovetoElement(element).Build().Perform();        Byte[] ba= ((ITakesScreenshot)driver).GetScreenshot().AsByteArray;        Bitmap ss = new Bitmap(new MemoryStream(ba));         //ss.Save("c:\tmp\ss.png",ImageFormat.Png);        Rectangle crop = new Rectangle(element.Location.X,element.Location.Y,element.Size.WIDth,element.Size.Height);        //create a new image by cropPing the original screenshot        Bitmap image = ss.Clone(crop,ss.PixelFormat);        return image;    }
解决方法 根据我的经验,通过Selenium GrID的自动化,没有看到鼠标.也许这是因为“鼠标”实际上是一个虚拟的Selenium鼠标,并且与系统本机鼠标驱动程序无关. 总结

以上是内存溢出为你收集整理的c# – 未在webdriver截图中显示鼠标交互全部内容,希望文章能够帮你解决c# – 未在webdriver截图中显示鼠标交互所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1244480.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存