我有一个警告框,在文本输入区域显示一个URL,并将链接复制到剪贴板。我希望能够打开一个新标签,并将URL粘贴到地址栏中。
我试过了:
invec <- c(
'A, C, D',
'P, O, E',
'W, E, W',
'S, B, W')
out <- rep(NA, length(invec))
for(x in c('A', 'B')) out[grep(x, invec)] <- x
out
#[1] "A" NA NA "B"
generatedLink返回&#34;&#34;
我也尝试过:
尝试1:
var generatedLink = System.Windows.Forms.Clipboard.GetText();
_chromeDriver.Navigate().GoToUrl(generatedLink);
SendKeys(Keys.Control +&#34; l&#34;)没有像它应该选择地址栏
SendKeys(Keys.Control +&#34; v&#34;)不会粘贴文字
我知道文本被复制了,因为当我调试测试时,我可以将复制的文本粘贴到记事本中而不会出现任何问题。
以下是复制的位置:
((IJavaScriptExecutor)_chromeDriver).ExecuteScript("window.open();");
List<String> tabs = new List<String>(_chromeDriver.WindowHandles);
_chromeDriver.SwitchTo().Window(tabs[1]);
_chromeDriver.FindElement(By.XPath("//body")).SendKeys(Keys.Control + "l");
_chromeDriver.FindElement(By.XPath("//body")).SendKeys(Keys.Control + "v");
答案 0 :(得分:0)
如果要将网址设置为地址栏,则可以使用以下解决方法:
((IJavaScriptExecutor)Driver).ExecuteScript("navigator.clipboard.readText().then(text => window.location.replace(text));");
或使用TextCopy package:
Driver.Navigate().GoToUrl(new TextCopy.Clipboard().GetText());
答案 1 :(得分:-1)
要从剪贴板复制 URL 打开新标签页,您需要引用名称空间 System.Windows.Forms 您可以使用以下解决方案:
using System.Windows.Forms;
// other code
string myURL = Clipboard.GetText()
((IJavaScriptExecutor)_chromeDriver).ExecuteScript("window.open('" + myURL +"');");