将网址从clipbaord粘贴到浏览器地址栏

时间:2019-01-31 12:44:09

标签: protractor

我需要复制url并将其粘贴到浏览器地址栏中。 不幸的是,当我复制url时,没有可以从其中获取文本和粘贴的data属性。

我使用了下面的action类来粘贴网址。但似乎不起作用。

HMTL代码:

  <li class="copyLink">
  <span class="link">Copy link</span>
  <input class="input" readonly="">
 </li> 

await browser.executeScript("window.open(arguments[0], '_blank')"); // opens new tab await browser.actions().keyUp(protractor.Key.CONTROL).perform();//to paste in the address bar await browser.sleep(1000);

关于代码有什么问题的任何建议吗?

谢谢

1 个答案:

答案 0 :(得分:0)

再次更新代码:

您的初次尝试非常接近。 使用sendKeys方法,您可以使用

将剪贴板中当前复制的代码发送到当前选定的元素
await browser.actions().sendKeys(protractor.Key.CONTROL, 'v').perform();

您遗漏了'v',据我所知,这是按下控制按钮后键盘上需要的按钮。

This is where you can read more about sending specific key presses with Protractor

最新更新:

如果您不关注地址栏,则上述方法将无法正常工作,而且我目前还没有找到手动聚焦地址栏的方法。您可以尝试的另一种方法是使用npm包,例如剪贴板。这将允许您将剪贴板内容复制到变量中,然后使用browser.get()到达所需的URL。

安装剪贴板包

npm i clipboardy

在测试中

const clipboardy = require('clipboardy');

//create variable with value from clipboard
let urlFromClipboard= await clipboardy.read();

await browser.get(urlFromClipboard);