为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Selenium c# 将 url 从剪贴板粘贴到 Chrome 中的地址栏

如何使用 Selenium c# 将 url 从剪贴板粘贴到 Chrome 中的地址栏

C#
蓝山帝景 2021-08-07 17:30:42
我有一个警告框,它在文本输入区域显示一个 URL,并将链接复制到剪贴板。我希望能够打开一个新选项卡,并将 URL 粘贴到地址栏中。我努力了 :var generatedLink = System.Windows.Forms.Clipboard.GetText();_chromeDriver.Navigate().GoToUrl(generatedLink);生成的链接返回“”我也试过:尝试 1:((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");SendKeys(Keys.Control + "l") 没有像它应该的那样选择地址栏SendKeys(Keys.Control + "v") 不粘贴文本我知道文本被复制了,因为当我调试测试时,我可以将复制的文本粘贴到记事本中而不会出现任何问题。以下是复制发生的地方:const url = window.location.host + urlPattern.stringify(newUrlParameters) + queryString;   (navigator as any).clipboard.writeText(url)     .then(() => window.prompt('Link copied to clipboard!', url))     .catch(() => window.prompt('Copy to clipboard: Ctrl+C, Enter', url)); 
查看完整描述

2 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

如果要将url设置为地址栏,解决方法如下:

((IJavaScriptExecutor)Driver).ExecuteScript("navigator.clipboard.readText().then(text => window.location.replace(text));");

或使用TextCopy 包

Driver.Navigate().GoToUrl(new TextCopy.Clipboard().GetText());


查看完整回答
反对 回复 2021-08-07
  • 2 回答
  • 0 关注
  • 443 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信