相关疑难解决方法(0)

[STAThread]做什么?

我正在学习C#3.5,我想知道[STAThread]我们的课程有什么用?

c# .net-attributes

277
推荐指数
3
解决办法
20万
查看次数

如何使用Selenium c将Chrome中的网址粘贴到Chrome中的地址栏?

我有一个警告框,显示文本输入区域中的URL并将链接复制到剪贴板.我希望能够打开一个新标签,并将URL粘贴到地址栏中.

我试过了 :

var generatedLink = System.Windows.Forms.Clipboard.GetText();
_chromeDriver.Navigate().GoToUrl(generatedLink);
Run Code Online (Sandbox Code Playgroud)

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");
Run Code Online (Sandbox Code Playgroud)

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)); 
Run Code Online (Sandbox Code Playgroud)

c# selenium google-chrome selenium-chromedriver selenium-webdriver

5
推荐指数
1
解决办法
1002
查看次数