如何在Selenium WebDriver中按Ctrl + V.

时间:2013-08-19 20:51:23

标签: selenium selenium-webdriver keypress

在我的一个自动化测试中,我需要在文本框中按 Ctrl + V 将文本粘贴到其中。但我不能这样做。我正在使用Selenium WebDriver for .net v.2.35.0.0。 这是我的代码,它不起作用。它按 Ctrl 然后按 V ,但文本不会粘贴在框中:

IWebDriver webDriver = new InternetExplorerDriver();
            webDriver.Navigate().GoToUrl(@"C:\Users\us\Documents\Visual Studio 2012\Projects\SeleniumTests\SeleniumTests\test.html");
            var el = webDriver.FindElement(By.XPath(".//*[@id='fld']"));
            el.Click();
            Actions builder = new Actions(webDriver);
            builder.KeyDown(el, Keys.LeftControl).Perform();
            builder.SendKeys(el, "v").Perform();
            builder.KeyUp(el, Keys.LeftControl).Perform();

            webDriver.Quit();

更新 操作系统:Windows Server 2012,x64 浏览器:IE10

3 个答案:

答案 0 :(得分:6)

以下是我的建议:

IWebDriver webDriver = new InternetExplorerDriver();
webDriver.Navigate().GoToUrl(@"C:\Users\us\Documents\Visual Studio 2012\Projects\SeleniumTests\SeleniumTests\test.html");
var el = webDriver.FindElement(By.XPath(".//*[@id='fld']"));
el.Click();
el.SendKeys(Keys.CONTROL+ "v");

webDriver.Quit();

答案 1 :(得分:0)

你可以尝试这种简单的方式

driver.findElement(By.xpath(FileUpDownLoad._SOURCE_NAME)).sendKeys(Keys.CONTROL + "v");

答案 2 :(得分:0)

接受的答案对我不起作用,对我有用的是:

new Actions(driver).KeyDown(OpenQA.Selenium.Keys.Control).SendKeys("v").KeyUp(OpenQA.Selenium.Keys.Control).Perform();