我创建了一种在文本框中复制文本的方法。现在,我要将其粘贴到新的浏览器选项卡搜索引擎(文本框)中。以下是代码
public void Method()
{driver.FindElement(Ad_Search_Direct_Link_Text).SendKeys(Keys.Control + "a");
driver.FindElement(Ad_Search_Direct_Link_Text).SendKeys(Keys.Control + "c");
((IJavaScriptExecutor)driver).ExecuteScript("window.open();");
driver.FindElement(Ad_Search_Direct_Link_Text).SendKeys(Keys.Control + "v");
driver.FindElement(Ad_Search_Direct_Link_Text).SendKeys(Keys.Enter);
}
我能够执行测试用例以复制并打开一个新标签页。但是无法粘贴我从文本框中复制的文本。此外,测试用例不会引发任何异常,但不会将复制的文本粘贴到选项卡中。
答案 0 :(得分:0)
在我看来,您在尝试传递变量时正在尝试执行某项操作。应该将位于driver.FindElement(Ad_Search_Direct_LinkText)找到的元素上的文本分配给变量,然后您可以将该变量像driver.Navigate()。GoToUrl(variable);传递给浏览器。
将元素的值分配给变量:
public IWebElement MyElement => driver.FindElement(Ad_Search_Direct_Link_Text);
public static string MyString => MyElement.Text;
创建要使用变量的操作:
public void RedirectURL(string url)
{
driver.Navigate().GoToUrl(url);
}
调用方法以重定向:
RedirectURL(MyString);