6

在我的一项自动化测试中,我需要在文本框中按Ctrl+V来粘贴文本。但我不能那样做。我正在将 Selenium WebDriver 用于 .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

4

3 回答 3

10

这是我的建议:

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();
于 2013-08-19T20:59:19.597 回答
0

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

new Actions(driver).KeyDown(OpenQA.Selenium.Keys.Control).SendKeys("v").KeyUp(OpenQA.Selenium.Keys.Control).Perform();
于 2019-10-15T17:43:22.863 回答
0

你可以试试这个简单的方法

driver.findElement(By.xpath(FileUpDownLoad._SOURCE_NAME)).sendKeys(Keys.CONTROL + "v");
于 2015-09-30T07:46:27.163 回答