微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从Selenium Client获取剪贴板中的数据

如何解决从Selenium Client获取剪贴板中的数据

当您单击按钮(Jscript)时,我想访问一些复制到网站剪贴板上的数据 我使用Remotewebdriver(ChromeDriver)来控制测试用例,但找不到如何访问此信息。

有人知道吗?

如果可以使用c#,但也可以使用Java解决方案。

Thx

解决方法

您可以使用https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API,但是如文档中所述,您需要从浏览器中授予权限以从中读取值。获得许可后,只需从硒页面上执行js脚本并获取该值即可。

,

所以我不知道该怎么做,所以我的方法是使用Jquery渲染文本区域,然后将CTRL + V文本放入该框中,然后再使用webdriver获得值。不漂亮,但是可以用

var javaScript = "$( \".d-modal-footer\").html('<div><textarea id=errormessagecopy maxlength=\"5000\" cols=\"80\" rows=\"40\"></textarea></div>');";

WebDriver.ExecuteJavaScript(javaScript);
var errormessagecopy = WebDriver.FindElement(By.Id("errormessagecopy"));

new Actions(WebDriver).MoveToElement(errormessagecopy).Click().KeyDown(OpenQA.Selenium.Keys.Control).SendKeys("v").KeyUp(OpenQA.Selenium.Keys.Control).Perform();

var errorText = WebDriver.ExecuteJavaScript<string>("return $(\"#errormessagecopy\").val();");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。