从 Selenium 客户端获取剪贴板中的数据

Get to Data in Clipboard from Selenium Client

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

有人知道怎么做吗?

如果可能,使用 c#,但 java 解决方案也可能有效。

感谢

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

所以我不知道该怎么做,所以我的方法是使用 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();");