gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 23:53:19 32 4
gpt4 key购买 nike

我有一个警告框,它在文本输入区域中显示一个 URL,并将链接复制到剪贴板。我希望能够打开一个新选项卡,并将 URL 粘贴到地址栏中。

我试过了:

var generatedLink = System.Windows.Forms.Clipboard.GetText();
_chromeDriver.Navigate().GoToUrl(generatedLink);

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));

最佳答案

要使用从剪贴板复制的 URL 打开新标签页,您需要引用命名空间 System.Windows.Forms 和您可以使用以下解决方案:

using System.Windows.Forms;
// other code
string myURL = Clipboard.GetText()
((IJavaScriptExecutor)_chromeDriver).ExecuteScript("window.open('" + myURL +"');");

关于c# - 如何使用 Selenium c# 将剪贴板中的 url 粘贴到 Chrome 中的地址栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50819536/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com