如何使用Selenium C#在Web浏览器中粘贴复制的字符串

时间:2018-12-06 18:13:30

标签: c# selenium selenium-chromedriver

我创建了一种在文本框中复制文本的方法。现在,我要将其粘贴到新的浏览器选项卡搜索引擎(文本框)中。以下是代码

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

我能够执行测试用例以复制并打开一个新标签页。但是无法粘贴我从文本框中复制的文本。此外,测试用例不会引发任何异常,但不会将复制的文本粘贴到选项卡中。

1 个答案:

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