我需要复制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);
关于代码有什么问题的任何建议吗?
谢谢
答案 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);